Generator

Error against bits for a windowed distinct count, with the exact structure marked

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
Error against bits for a windowed distinct count, with the exact structure markedEach point is a windowed HyperLogLog at one register count, scored at 8 moments spread over 40,000 arrivals of the popular keys drift, so old keys are gone rather than rare against an exact answer computed by machinery the estimator never sees. The window holds 169 distinct keys at the end. The vertical line is the exact structure — one timestamp per key still in the window, 8,505 bits, no error — and the horizontal distance from a point to it is the whole of what approximation buys here. It is 1.5 times at the right-hand end, against the order of magnitude the same estimator manages when it is allowed to forget nothing. Both axes are logarithmic.0.1bits of state heldmean relative errorexact, and no smallerm = 32m = 64m = 128m = 256m = 512windowedHyperLogLogwindow 4,096 · 8 sample times · truth held apart8,505 bits exact

Error against bits for a windowed distinct count, with the exact structure marked

Each point is a windowed HyperLogLog at one register count, scored at 8 moments spread over 40,000 arrivals of the popular keys drift, so old keys are gone rather than rare against an exact answer computed by machinery the estimator never sees. The window holds 169 distinct keys at the end. The vertical line is the exact structure — one timestamp per key still in the window, 8,505 bits, no error — and the horizontal distance from a point to it is the whole of what approximation buys here. It is 1.5 times at the right-hand end, against the order of magnitude the same estimator manages when it is allowed to forget nothing. Both axes are logarithmic.

Drawn at 700 × 430, wide on the page. Everything above is what window-saving returns with no arguments; the caption is the generator's own, computed from the numbers in the drawing rather than written beside it.

2 essays call window-saving. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about — which is what optcheck and figfill exist to catch.

Where it is called

Changing this generator changes every one of these figures.

The library, page 5 of 5 — where window-saving sits