Re: pgbench - add pseudo-random permutation function

Fabien COELHO <coelho@cri.ensmp.fr>

From: Fabien COELHO <coelho@cri.ensmp.fr>
To: David Steele <david@pgmasters.net>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, 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: 2020-04-02T06:42:52Z
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 →
  1. pgbench: Function to generate random permutations.

  2. Add basic support for using the POPCNT and SSE4.2s LZCNT opcodes

  3. Further improve code for probing the availability of ARM CRC instructions.

Hello David,

>> Attached is an attempt at improving things. I have added a explicit note 
>> and hijacked an existing example to better illustrate the purpose of the 
>> function.
>
> This patch does not build on Linux due to some unused functions and 
> variables: http://cfbot.cputube.org/patch_27_1712.log

This link is about some other patch, but indeed there is something amiss 
in v18. Attached a v19 which fixes that.

> The CF entry has been updated to Waiting on Author.

I put it back to "needs review".

> A few committers have expressed doubts about whether this patch is needed

Yep.

The key point is that if you (think that you) do not need it, it is 
by definition useless.

If you finally figure out that you need it (IMHO you must for any 
benchmark with non uniform randoms, otherwise performance result are 
biased and thus invalid) and it is not available, then you are just stuck.

> and it doesn't make sense to keep moving it from CF to CF.

You do as you feel. IMO such a feature is useful and consistent with 
providing non-uniform random functions.

> I'm planning to mark this patch RwF on April 8 and I suggest you resubmit if 
> you are able to get some consensus.

People interested in non-uniform benchmarks would see the point. Why many 
people would be happy with uniform benchmarks only while life is not 
uniform at all fails me.

-- 
Fabien.