Re: pgbench - add pseudo-random permutation function
Fabien COELHO <coelho@cri.ensmp.fr>
From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Hironobu SUZUKI <hironobu@interdb.jp>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2018-09-16T20:05:28Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pgbench: Function to generate random permutations.
- 6b258e3d688d 14.0 landed
-
Add basic support for using the POPCNT and SSE4.2s LZCNT opcodes
- 711bab1e4d19 12.0 cited
-
Further improve code for probing the availability of ARM CRC instructions.
- a7a7387575b8 11.0 cited
Attachments
- pgbench-prp-func-4.patch (text/x-diff) patch
Hello Hironobu-san, Here is a v4, based on our out-of-list discussion: - the mask function is factored out - the popcount builtin is used if available > Attached a v3, based on your fix, plus some additional changes: > - explicitly declare unsigned variables where appropriate, to avoid casts > - use smaller 24 bits primes instead of 27-29 bits > - add a shortcut for multiplier below 24 bits and y value below 40 bits, > which should avoid the manually implemented multiplication in most > practical cases (tables with over 2^40 rows are pretty rare...). > - change the existing shortcut to look a the number of bits instead of > using 32 limits. > - add a test for minimal code coverage with over 40 bits sizes > - attempt to improve the documentation > - some comments were updates, hopefully for the better -- Fabien.