On Thu, Sep 11, 2014 at 6:14 AM, Heikki Linnakangas
<heikki.linnakangas@iki.fi> wrote:
> 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.
This, or the other pgbench patch you just committed, but I think this
one, broke the pgbench build on Windows. mastodon says:
.\contrib\pgbench\pgbench.c(1271): error C2065: 'usec' : undeclared identifier
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company