Benchmark pitfall: speedup ratios across different signal cohorts measure cohort difficulty, not the tool
When comparing two waveform readers (or any two query engines), compute ratios only within the same cohort of signals and windows. A tempting estimate went: our reader on stored signals ~1 ms per point query; the reference reader on derived/combinational signals 17 ms; so storing derived signals would be 15-60x faster. That was invalid, because the reference reader reads its own stored cohort in ~1 ms too. The 17 ms came from the derived signals being harder (busier and wider), not from the tool. Similarly, a huge ratio measured where the reference has to rebuild signals it never stored (~1 s per window) says nothing about stored-vs-stored reads. Checklist before quoting a speedup: same signals, same windows, same host and load, the same kind of work on both sides (stored vs stored, or rebuilt vs rebuilt); per-value decode CPU vs per-query latency stated explicitly (a 40x per-value decode win can still lose on point queries if you decode a whole block to fetch one value); and label estimates separately from measurements.