Re: pgbench - add pseudo-random permutation function

Suzuki Hironobu <hironobu@interdb.jp>

From: Hironobu SUZUKI <hironobu@interdb.jp>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: David Steele <david@pgmasters.net>, Fabien COELHO <coelho@cri.ensmp.fr>
Date: 2019-03-30T04:33:17Z
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.

On 2019/03/21 17:27, David Steele wrote:
> Hi Hironobu,
> 

Sorry for the late reply. I reviewed this patch.

Function nbits(), which was previously discussed, has been simplified by 
using the function pg_popcount64().

By adding the mathematical explanation, it has been easier to understand 
the operation of this function.

I believe that these improvements will have a positive impact on 
maintenance.

The patch could be applied successfully and the tests passed without 
problems.

So, I think the latest patch is fine.


Best regards,



> On 3/3/19 12:55 PM, Fabien COELHO wrote:
>>
>>> Indeed, the patch needs a rebase & conflit resolution. I'll do it. 
>>> Later.
>>
>> Here is an update:
>>
>>   - take advantage of pg_bitutils (although I noted that the "slow"
>>     popcount there could be speeded-up and shorten with a bitwise 
>> operator
>>     implementation that I just removed from pgbench).
>>
>>   - add comments about the bijective transformations in the code.
>>
>> As already stated, this function makes sense for people who want to 
>> test performance with pgbench using non uniform rands. If you do not 
>> want to do that, you will probably find the function pretty useless. I 
>> can't help it.
>>
>> Also, non uniform rands is also a way to test pg lock contention 
>> behavior.
> 
> You have signed up as a reviewer for this patch.  Do you know when 
> you'll have time to do the review?
> 
> Regards,