From: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: pgbench: Function to generate random permutations. |
Date: | 2021-04-06 10:52:28 |
Message-ID: | E1lTjJs-0005R3-Bd@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
pgbench: Function to generate random permutations.
This adds a new function, permute(), that generates pseudorandom
permutations of arbitrary sizes. This can be used to randomly shuffle
a set of values to remove unwanted correlations. For example,
permuting the output from a non-uniform random distribution so that
all the most common values aren't collocated, allowing more realistic
tests to be performed.
Formerly, hash() was recommended for this purpose, but that suffers
from collisions that might alter the distribution, so recommend
permute() for this purpose instead.
Fabien Coelho and Hironobu Suzuki, with additional hacking be me.
Reviewed by Thomas Munro, Alvaro Herrera and Muhammad Usama.
Discussion: https://postgr.es/m/alpine.DEB.2.21.1807280944370.5142@lancre
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/6b258e3d688db14aadb58dde2a72939362310684
Modified Files
--------------
doc/src/sgml/ref/pgbench.sgml | 81 ++++++++++++++---
src/bin/pgbench/exprparse.y | 17 ++++
src/bin/pgbench/pgbench.c | 131 +++++++++++++++++++++++++++
src/bin/pgbench/pgbench.h | 3 +-
src/bin/pgbench/t/001_pgbench_with_server.pl | 43 +++++++++
src/bin/pgbench/t/002_pgbench_no_server.pl | 10 ++
6 files changed, 273 insertions(+), 12 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2021-04-06 11:58:41 | pgsql: Mark test_enc_conversion() as STRICT. |
Previous Message | David Rowley | 2021-04-06 10:43:17 | Re: pgsql: Implement pipeline mode in libpq |