Repository navigation
v0.48.0 — the entropy coder, and a grid we stopped reallocating
Faster on scanned pages, byte-identical output
Takes go-images/jpeg2000 v0.8.0 and v0.7.0's own predecessor work forward.
§24 of the conformance baseline named ia-biodiversity as the one population where
a typical page ties with poppler — median 1.004×, slower on 128 of 250. Its
worst page turned out not to be limited by the wavelet at all but by EBCOT
entropy decoding, and inside that, by computing the coding context from eight
neighbours rather than by the arithmetic decoder it feeds.
| document | before | after | |
|---|---|---|---|
jahresberichtder710meye.pdf |
801.7 ms | 773.5 ms | −3.5% |
bulletin43peab.pdf |
663.9 ms | 636.4 ms | −4.1% |
b31820797.pdf (wavelet-heavy) |
+0.5%, noise |
Also in this release, from v0.47.0's tail: mask() no longer allocates a coverage
grid for every mark made through a clip. That is −39% of all allocation on the
corpus's worst page (2 268 → 1 379 MB) and −4% to −8% on ordinary pages, with no
measurable change in time — stated plainly because it is what the measurement
said.
All 3 215 corpus documents render byte-identical to v0.47.0.