Re: pgbench - add pseudo-random permutation function
Fabien COELHO <coelho@cri.ensmp.fr>
From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: David Steele <david@pgmasters.net>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Tomas Vondra <tomas.vondra@2ndquadrant.com>,
Thomas Munro <thomas.munro@gmail.com>,
Hironobu SUZUKI <hironobu@interdb.jp>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-03-08T10:50:43Z
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
>> What are your current thoughts? > > Thanks for prodding. I still think it's a useful feature. However I > don't think I'll have to time to get it done on the current commitfest. > I suggest to let it sit in the commitfest to see if somebody else will > pick it up -- and if not, we move it to the next one, with apologies to > author and reviewers. > > I may have time to become familiar or at least semi-comfortable with all > that weird math in it by then. Yep. Generating a parametric good-quality low-cost (but not cryptographically-secure) pseudo-random permutations on arbitrary sizes (not juste power of two sizes) is not a trivial task, I had to be quite creative to achieve it, hence the "weird" maths. I had a lot of bad not-really-working ideas before the current status of the patch. The code could be simplified if we assume that PG_INT128_TYPE will be available on all relevant architectures, and accept the feature not to be available if not. -- Fabien.