Re: General purpose hashing func in pgbench
Ildar Musin <i.musin@postgrespro.ru>
From: Ildar Musin <i.musin@postgrespro.ru>
To: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-01-09T16:31:02Z
Lists: pgsql-hackers
Attachments
- fnv_seed.png (image/png)
- murmur2_seed.png (image/png)
09/01/2018 19:22, Ildar Musin пишет: > Hello Fabien, > > > 25/12/2017 19:17, Fabien COELHO пишет: >>>> However, the key can be used if controlled so that different values do >>>> not have the same randomization in different part of the script, so as >>>> to avoid using the same patterns for different things if not desirable. >>> Original murmur algorithm accepts seed as a parameter, which can be used >>> for this purpose. I used value itself as a seed in the patch, but I can >>> turn it into a function argument. >> Hmmm. Possibly. However it needs a default, something like >> >> x = hash(v[, key]) >> >> with key some pseudo-random value? >> > Sorry for a long delay. I've added hash() function which is just an > alias for murmur2. I've also utilized variable arguments feature from > least()/greates() functions to make optional seed parameter, but I > consider this as a hack. Should we probably add some infrastructure for > optional arguments? Docs and tests are on their way. > > Thanks! > I forgot to attach couple of fresh charts that show how distribution changes with respect to seed. -- Ildar Musin Postgres Professional: http://www.postgrespro.com Russian Postgres Company
Commits
-
Add general purpose hasing functions to pgbench.
- e51a04840a1c 11.0 landed