aboutsummaryrefslogtreecommitdiff
path: root/contrib/intarray/_int_gist.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-03-21 19:49:19 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-03-21 19:49:19 +0000
commita155814e373fde80e7fae7d240bd100370c3b2b3 (patch)
tree50e8c7ec3ad5364f1ef118f8d8b72abc37e54e64 /contrib/intarray/_int_gist.c
parent85fa81f65bb2394b455036bb658403577f85e766 (diff)
downloadpostgresql-a155814e373fde80e7fae7d240bd100370c3b2b3.tar.gz
postgresql-a155814e373fde80e7fae7d240bd100370c3b2b3.zip
Improve performance of our private version of qsort. Per recent testing,
the logic it contained to switch to insertion sort for near-sorted input was in fact a big loss, because it could fairly easily be fooled into applying insertion sort to large subfiles that weren't all that well ordered. Remove that, and instead add a simple check for already-perfectly-sorted input, as per suggestion from Dann Corbit. This adds at worst O(N*lgN) overhead, and usually far less, while sometimes allowing a subfile sort to finish in O(N) time. Preliminary testing says this is an improvement over the basic Bentley & McIlroy code for many nonrandom inputs, and it costs almost nothing when the input is random.
Diffstat (limited to 'contrib/intarray/_int_gist.c')
0 files changed, 0 insertions, 0 deletions