| From: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> | 
|---|---|
| To: | Hironobu SUZUKI <hironobu(at)interdb(dot)jp> | 
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> | 
| Subject: | Re: pgbench - add pseudo-random permutation function | 
| Date: | 2018-10-24 11:55:46 | 
| Message-ID: | alpine.DEB.2.21.1810241154210.30118@lancre | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Hello Hironobu-san,
> In pseudorandom_perm(), `modular_multiply() + (key >> LCG_SHIFT)` may 
> overflow if the result of modular_multiply() is large. Therefore, I've 
> improved it.
> Also, I've simplified Step 5 in modular_multiply().
Attached is a v10, where I have:
  - updated some comments
  - the + cannot overflow because size is taken from a signed int
    and the added value is small thanks to the shift.
    I have put back the simple formula and added a comment about it.
  - added a few test cases, and fix the associated checks
-- 
Fabien.
| Attachment | Content-Type | Size | 
|---|---|---|
| pgbench-prp-func-10.patch | text/x-diff | 18.8 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Meskes | 2018-10-24 13:29:12 | Re: [PROPOSAL]a new data type 'bytea' for ECPG | 
| Previous Message | AYahorau | 2018-10-24 11:34:07 | Re: Timeout parameters |