A small demo app for experimenting with React performance under a high-frequency stream of WebSocket updates.
The server uses Socket.IO to generate a continuous stream of instrument updates and feed events. The client renders them in real time and serves as a playground for testing different rendering optimizations such as batching, requestAnimationFrame, React.memo, external stores, and list virtualization.
The project is intentionally simple. The goal is to make performance problems easy to reproduce and compare.
Install dependencies:
npm installStart the server:
npm run devStart the client in a separate terminal:
cd client
npm install
npm run devOpen the URL shown by Vite.
The server load can be configured with variables:
INSTRUMENT_UPDATES_PER_SECONDFEED_EVENTS_PER_SECOND
The default values are intentionally moderate. Increase them to make the rendering bottlenecks more obvious.
