Skip to content

incremental watch queries (wip) #199

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

incremental watch queries (wip) #199

wants to merge 5 commits into from

Conversation

benitav
Copy link
Collaborator

@benitav benitav commented Jul 10, 2025

No description provided.

@benitav benitav marked this pull request as draft July 10, 2025 10:46

Incremental watch queries improve rendering performance:
- benchmarks show that incremental updates with differential queries coupled with React memoization render 60-80% faster
- incremental updates only render the newly added item widgets, while the standard query methods re-render the entire widget
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only if Memoization is used for the component. A big benefit of incremental queries is easy integration with tools like React's Memoization.

### Performance

Incremental watch queries improve rendering performance:
- benchmarks show that incremental updates with differential queries coupled with React memoization render 60-80% faster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The figures here were for a specific test case of rendering a single list widget. I suspect these values could vary substantially based off the actual React Widget tree being re-rendered. It might be good to mention this as a rough guideline.

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