]> granicus.if.org Git - postgresql/commit
Improve hash_any() to use word-wide fetches when hashing suitably aligned
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 6 Apr 2008 16:54:49 +0000 (16:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 6 Apr 2008 16:54:49 +0000 (16:54 +0000)
commit2604359251d34177a14ef58250d8b4a51d83103b
treeeaa41ae91dcea2a5eac60a3825f938aeb5dd4d8a
parentd785b39fbf74b8c120ecffc4a6cf81836bff0809
Improve hash_any() to use word-wide fetches when hashing suitably aligned
data.  This makes for a significant speedup at the cost that the results
now vary between little-endian and big-endian machines; which forces us
to add explicit ORDER BYs in a couple of regression tests to preserve
machine-independent comparison results.  Also, force initdb by bumping
catversion, since the contents of hash indexes will change (at least on
big-endian machines).

Kenneth Marshall and Tom Lane, based on work from Bob Jenkins.  This commit
does not adopt Bob's new faster mix() algorithm, however, since we still need
to convince ourselves that that doesn't degrade the quality of the hashing.
contrib/dblink/expected/dblink.out
contrib/dblink/sql/dblink.sql
src/backend/access/hash/hashfunc.c
src/include/catalog/catversion.h
src/test/regress/expected/portals.out
src/test/regress/sql/portals.sql