Pacer 0.4.7
Launches in a fraction of a second
Pacer used to rebuild its duplicate-detection map on startup by reading every usage row it had ever stored — 9 to 16 seconds on a large history, and getting slower as that history grew. It now keeps that map on disk beside the store and loads it in milliseconds.
On a 190,000-row history, startup went from 9.3 seconds to 42 milliseconds.
The map is treated as a cache, never as the truth: if it doesn't account for exactly the rows in the store it's thrown away and rebuilt, because a duplicate-detection map that quietly disagrees with your data is worse than none at all.
Also in this release:
- Idle scan cycles no longer do a database query just to decide they have nothing to do
- Rollup totals and cost are now checkable against the raw data with
make verify-data