Re: pgbench - add pseudo-random permutation function - Mailing list pgsql-hackers

From Hironobu SUZUKI
Subject Re: pgbench - add pseudo-random permutation function
Date
Msg-id 307a532c-bc16-8b00-9395-15ca8f5129db@interdb.jp
Whole thread Raw
In response to Re: Re: pgbench - add pseudo-random permutation function  (David Steele <david@pgmasters.net>)
Responses Re: pgbench - add pseudo-random permutation function
List pgsql-hackers
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,




pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: speeding up planning with partitions
Next
From: Alvaro Herrera
Date:
Subject: Re: monitoring CREATE INDEX [CONCURRENTLY]