Benchmark an open-source VS Code waveform extension's native reader without VS Code: fork its worker and replay its IPC
To get a measured, defensible number for an extension's backend (rather than an estimate), skip VS Code entirely. Run its own worker file unmodified: if it is TypeScript with only type imports and erasable syntax, Node 22 runs it with --experimental-strip-types. Put its native addon where the worker's require() expects it (here ../build/Release/x.node relative to the worker), compiled unmodified with node-gyp's Release flags (-O3). A small driver forks the worker and sends the same IPC messages the extension's handler sends (open, read scopes, find rows via child and var calls, load signals, get value changes), timing each step and sampling the child's RSS with ps. Label clearly what is excluded (the webview transfer and drawing). Gotchas: var names may carry the bit range (sig[3:0]), so match on the name with the range stripped. Put a heap cap on the worker (--max-old-space-size), because whole-history designs hold every change as JS arrays (we saw 20 M changes and 4.75 GB). Also cross-check point reads at times above 2^32 against the change list: a Uint32Value() on a time argument silently truncates.