Skip to content

Conversation

@faranjit
Copy link
Contributor

  • Replace custom virtualization with react-window VariableSizeList and normalize import for Vite interop
  • Implement MeasuredRow using ResizeObserver + requestAnimationFrame; de-duplicate size reports and batch measurements
  • Wire row height changes to list.resetAfterIndex to keep virtualization accurate
  • Memoize EventRow, EventBody, and CodeBlock; avoid repeated JSON.stringify to reduce GC/CPU
  • Replace static SAMPLE_TRACE with a realistic, variable-sized generator (small or very large traces)
  • Add benchmark script (viewer/scripts/benchEventList.mjs) to measure flattening/positioning performance
  • Minor TS/type adjustments and small helper cleanup

Improves performance and responsiveness for very large traces; reduces layout thrash and render overhead.

- Replace custom virtualization with react-window VariableSizeList and normalize import for Vite interop
- Implement MeasuredRow using ResizeObserver + requestAnimationFrame; de-duplicate size reports and batch measurements
- Wire row height changes to list.resetAfterIndex to keep virtualization accurate
- Memoize EventRow, EventBody, and CodeBlock; avoid repeated JSON.stringify to reduce GC/CPU
- Replace static SAMPLE_TRACE with a realistic, variable-sized generator (small or very large traces)
- Add benchmark script (viewer/scripts/benchEventList.mjs) to measure flattening/positioning performance
- Minor TS/type adjustments and small helper cleanup

Improves performance and responsiveness for very large traces; reduces layout thrash and render overhead.
@faranjit faranjit merged commit 6b4932c into main Nov 14, 2025
1 check passed
@faranjit faranjit deleted the feature/react-window-eventlist-perf branch November 14, 2025 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants