pgsql: Simplify calculation of Poisson distributed delays in pgbench --

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема pgsql: Simplify calculation of Poisson distributed delays in pgbench --
Дата
Msg-id E1XS1OD-0008J2-KD@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Simplify calculation of Poisson distributed delays in pgbench --rate mode.

The previous coding first generated a uniform random value between 0.0 and
1.0, then converted that to an integer between 1 and 10000, and divided that
again by 10000. Those conversions are unnecessary; we can use the double
value that pg_erand48() returns directly. While we're at it, put the logic
into a helper function, getPoissonRand().

The largest delay generated by the old coding was about 9.2 times the
average, because of the way the uniformly distributed value used for the
calculation was truncated to 1/10000 granularity. The new coding doesn't
have such clamping. With my laptop's DBL_MIN value, the maximum delay with
the new coding is about 700x the average. That seems acceptable - any
reasonable pgbench session should last long enough to average that out.

Backpatch to 9.4.

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/c8b24991115c967abee06ccc78e11532d02cffde

Modified Files
--------------
contrib/pgbench/pgbench.c |   33 ++++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Change the way latency is calculated with pgbench --rate option.
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Simplify calculation of Poisson distributed delays in pgbench --