Live Demo: https://warper.tech
10 million rows at 120+ FPS. No lag. No dropped frames.
Existing libraries like react-window and react-virtuoso hit walls at scale. They rely on JavaScript binary search and O(n) scans for variable heights. Warper is different.
The engine uses:
- Fenwick trees for O(log n) variable-height lookups - O(1) arithmetic for fixed-height items - Zero-copy typed arrays between WASM and JS - Pre-allocated memory pools with zero GC during scroll
Benchmarks on M1 MacBook Pro with 1M rows: Warper hits 119 FPS. react-virtuoso drops to 58 FPS. At 10M rows Warper stays at 118 FPS while virtuoso falls to 31 FPS.
Its not marginally faster. Its 2-4x faster depending on the workload.
Trade-off is bundle size: around 45KB vs 6KB for react-window. Worth it if you need the performance.
Available through GitHub Sponsors at github.com/sponsors/itsmeadarsh2008
Happy to answer questions about the architecture.