Re: Change GUC hashtable to use simplehash?
Anton A. Melnikov <a.melnikov@postgrespro.ru>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Silence warning in older versions of Valgrind
- fde7c0164ea2 17.5 landed
- 0600d276d485 18.0 landed
-
Revert "Speed up tail processing when hashing aligned C strings, take two"
- 6555fe197914 17.3 landed
- 235328ee4ae4 18.0 landed
-
Speed up tail processing when hashing aligned C strings, take two
- a365d9e2e8c1 17.0 landed
-
Teach fasthash_accum to use platform endianness for bytewise loads
- 0c25fee35903 17.0 landed
-
Add macro to disable address safety instrumentation
- db17594ad73a 17.0 landed
-
Convert uses of hash_string_pointer to fasthash equivalent
- f956ecd0353b 17.0 landed
-
Speed up tail processing when hashing aligned C strings
- 07f0f6abfc7f 17.0 landed
-
Add helper functions for dshash tables with string keys.
- 42a1de3013ea 17.0 cited
-
Fix warnings in cpluspluscheck
- 257998508672 17.0 landed
-
Further cosmetic review of hashfn_unstable.h
- b83033c3cff5 17.0 landed
-
Simplify initialization of incremental hash state
- 9ed3ee5001b6 17.0 landed
-
Add optimized C string hashing
- 0aba2554409e 17.0 landed
-
Add inline incremental hash functions for in-memory use
- e97b672c88f6 17.0 landed
-
Make all Perl warnings fatal
- c5385929593d 17.0 cited
Hi! On 22.01.2025 11:37, John Naylor wrote: > On Fri, Jan 17, 2025 at 4:50 PM John Naylor <johncnaylorls@gmail.com> wrote: >> >> It would be a lot more readable to revert the offending commit >> instead, since its predecessor had a much simpler bytewise loop. Agreed that reverting seems as a preferable way, and here's why. I found that this valgrind error during initdb first appeared after 0aba25544. At the previous e97b672c88 where there is no error i did a small experiment on my laptop. With -O2 compilation from src/backend/catalog/namespace.с:369 that really executes inlined spcachekey_hash() to src/backend/catalog/namespace.с:369 123 asm instructions are executed when hashing the string "pg_catalog". In the master at 630f9a43 the spcachekey_hash() is not inlined and asm call <spcachekey_hash> executes 204 asm inctructions at the same conditions. HAVE__BUILTIN_CTZ is defined on my pc so finding the first non-zero rightmost bit requires the only asm command. With patch v2-0001-Add-valgrind-safe-code the same will take 216 asm instructions. Of cause, if the common average length of a hashed string is known, can be performed experiments that better correspond to reality. But, it seems to me, there shouldn't be any considerably large strings here, so the general trend is clear. Please correct me if I'm wrong. With the best regards, -- Anton A. Melnikov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company