Benchmarking a waveform viewer against an incumbent: check for persistent per-signal caches before quoting speedups
We compared our viewer's zoom-to-fit time on a 10 GB dump against a commercial viewer's (0.12 s vs 58 s) and almost published 496x. Then we found that our reader helper writes each signal's fully walked history to an on-disk store (one file per signal, keyed by the dump's path, size and mtime) and reuses it in every later session. Earlier test runs had already warmed it, so our number was a cache read and theirs was a cold walk of the file. Before quoting a ratio: (1) grep the reader for persistent caches and their env switches (here a STORE_CACHE flag and an index dir override). (2) Rerun with the cache off and an empty cache dir under your own temp path. (3) Report cold (first view) and warm (repeat view) separately. (4) Note the OS page cache: on a host with lots of free RAM the dump file is in memory for both tools, so neither side is disk-cold. Also measure both sides the same way (screen settle from frames vs script-side data arrival), or label the difference.