Evidence.
Not promises.
Compare zerocopy, Immutable.js Map, and Immer Map across workers. In your browser. On your hardware. With every result checked.
Setup normally runs automatically. This host may need one page refresh to enable shared memory. If your browser blocks service workers or isolation, open this page in a full browser or use a host with COOP/COEP headers. Documentation stays available; there is no copy-mode fallback.
Compare investigation architectures with Immutable.js Lists and native arrays →
Read the results
LIVE / LOCALNo stored scores. Press Run to measure.
What this actually measures.
End-to-end fan-out and reads. Not a pure transfer benchmark. Not a memory benchmark.
Included
Snapshot encoding, sending to all readers, reconstruction or shared attachment, a lookup for every key, and the response. zerocopy reattaches read-only shared views. Immutable.js encodes all entries, structured-clones them, and rebuilds a Map in each reader. Immer structured-clones its Map and freezes each replica.
Excluded
Worker startup and library loading happen before warm-up. Dataset construction happens once, with its own reported timing. It is not included in the comparison bars.
Same job. Checked answers.
All three paths use the same deterministic string keys and numeric values. Each reader reports a checksum. A mismatch fails the run. Measurement order rotates, and the median and interquartile range use all seven samples.
No universal winner
Any path can win. Immer uses produce with Map support and default auto-freezing. All snapshots are built once; every trial publishes a full snapshot. Warm-up does not remove attachment, cloning, reconstruction, or freezing costs. This test does not measure persistent edit history, every value type, or your application's workload.