Warper: Rust Powered React Virtualisation Library
Briefly

Warper: Rust Powered React Virtualisation Library
"Warper 7.2 introduces several changes, including zero-allocation hot paths using TypedArrays, O(1) circular buffer operations for frame timing, universal bundler support, and responsive demo examples across device viewports. The library takes a distinctive approach to virtualization by offloading scroll calculations to a Rust-compiled WebAssembly module."
"A key change in v7 is the replacement of regular arrays with TypedArrays (Int32Array, Float64Array) in hot paths, eliminating garbage collection pressure during scrolling. The release also replaces push()/shift() operations with constant-time circular buffer operations for frame timing, addressing a source of unnecessary allocations in earlier versions."
"According to benchmarks shared by the developer on Reddit, testing with 100,000 items showed react-window achieving approximately 40 FPS compared to Warper's 120 FPS. At one million items, the gap widened further, with react-window dropping to approximately 12 FPS while Warper maintained 118 FPS."
Warper version 7 represents a significant advancement in React virtualization, leveraging Rust-compiled WebAssembly to handle performance-critical operations like binary search, range calculations, and offset lookups. The library maintains a Fenwick tree for O(log n) prefix sum queries and O(1) lookups on fixed-height items. Version 7 introduces TypedArrays (Int32Array, Float64Array) in hot paths to eliminate garbage collection pressure during scrolling, and replaces inefficient push()/shift() operations with constant-time circular buffer operations for frame timing. The library supports universal bundler compatibility and includes responsive demo examples. Benchmarks demonstrate substantial performance gains: with 100,000 items, Warper achieves 120 FPS compared to react-window's 40 FPS, and at one million items, Warper maintains 118 FPS while react-window drops to 12 FPS.
Read at InfoQ
Unable to calculate read time
[
|
]