Skip to content
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

perf: reduce notifications on relationship remote state updates #9655

Merged
merged 4 commits into from
Feb 9, 2025

Conversation

runspired
Copy link
Contributor

If this works, this would fix one issue we noticed in 4.13-canary

@runspired runspired added 🎯 canary PR is targeting canary (default) 🏷️ perf PRs that improve performance in a notable way ci-perf Activates Performance Checks in CI labels Feb 7, 2025
Copy link

github-actions bot commented Feb 9, 2025

Performance Report for 212d278

Scenario - basic-record-materialization: ☑️ Performance is stable

☑️ duration
phase no difference [-5ms to 10ms]
☑️ Phase [navigationStart] => [start-data-generation]
phase no difference [-1ms to 0ms]
☑️ Phase [start-data-generation] => [start-push-payload]
phase no difference [-1ms to 1ms]
☑️ Phase [start-push-payload] => [start-peek-records]
phase no difference [-5ms to 5ms]
☑️ Phase [start-peek-records] => [start-record-materialization]
phase no difference [0ms to 0ms]
☑️ Phase [start-record-materialization] => [end-record-materialization]
phase no difference [-1ms to 5ms]
☑️ Phase [end-record-materialization] => [Test End]
phase no difference [0ms to 0ms]

Scenario - relationship-materialization-simple: ☑️ Performance is stable

☑️ duration
phase no difference [-6ms to 0ms]
☑️ Phase [navigationStart] => [start-find-all]
phase no difference [-1ms to 0ms]
☑️ Phase [start-find-all] => [start-materialization]
phase no difference [-3ms to 1ms]
☑️ Phase [start-materialization] => [end-materialization]
phase no difference [-2ms to 2ms]
☑️ Phase [end-materialization] => [Test End]
phase no difference [-1ms to 0ms]

Scenario - relationship-materialization-complex: ✅ Performance improved

✅ duration
phase estimated improvement -10ms [-17ms to -2ms] OR -0.39% [-0.69% to -0.07%]
☑️ Phase [navigationStart] => [start-data-generation]
phase no difference [-1ms to 0ms]
✅ Phase [start-data-generation] => [start-push-payload]
phase estimated improvement -1ms [-1ms to 0ms] OR -0.65% [-1.07% to -0.26%]
☑️ Phase [start-push-payload] => [start-peek-records]
phase no difference [-2ms to 3ms]
☑️ Phase [start-peek-records] => [start-record-materialization]
phase no difference [0ms to 0ms]
☑️ Phase [start-record-materialization] => [start-relationship-materialization]
phase no difference [-1ms to 2ms]
✅ Phase [start-relationship-materialization] => [end-relationship-materialization]
phase estimated improvement -10ms [-16ms to -3ms] OR -0.66% [-1.02% to -0.2%]
☑️ Phase [end-relationship-materialization] => [Test End]
phase no difference [-1ms to 1ms]

Scenario - unload: ☑️ Performance is stable

☑️ duration
phase no difference [-2ms to 4ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [0ms to 1ms]
⚠️ Phase [start-push-payload] => [start-unload-records]
phase estimated regression +2ms [0ms to 4ms] OR +0.78% [0.08% to 1.59%]
☑️ Phase [start-unload-records] => [end-unload-records]
phase no difference [-2ms to 1ms]
☑️ Phase [end-unload-records] => [Test End]
phase no difference [-1ms to 0ms]

Scenario - unload-all: ⚠️ Performance regressed

⚠️ duration
phase estimated regression +6ms [1ms to 10ms] OR +0.47% [0.07% to 0.8%]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [0ms to 1ms]
⚠️ Phase [start-push-payload] => [start-materialization]
phase estimated regression +3ms [1ms to 6ms] OR +0.63% [0.17% to 1.11%]
☑️ Phase [start-materialization] => [start-unload-all]
phase no difference [-2ms to 2ms]
☑️ Phase [start-unload-all] => [end-unload-all]
phase no difference [0ms to 5ms]
☑️ Phase [end-unload-all] => [Test End]
phase no difference [0ms to 0ms]

Scenario - destroy: ☑️ Performance is stable

☑️ duration
phase no difference [-2ms to 6ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 1ms]
☑️ Phase [start-push-payload] => [start-destroy-records]
phase no difference [0ms to 4ms]
☑️ Phase [start-destroy-records] => [end-destroy-records]
phase no difference [-3ms to 2ms]
☑️ Phase [end-destroy-records] => [Test End]
phase no difference [0ms to 1ms]

Scenario - add-children: ☑️ Performance is stable

☑️ duration
phase no difference [-2ms to 3ms]
☑️ Phase [navigationStart] => [start-push-initial-payload]
phase no difference [-1ms to 0ms]
☑️ Phase [start-push-initial-payload] => [start-push-update-payload]
phase no difference [-2ms to 1ms]
☑️ Phase [start-push-update-payload] => [end-push-update-payload]
phase no difference [-1ms to 2ms]
☑️ Phase [end-push-update-payload] => [Test End]
phase no difference [0ms to 1ms]

Scenario - unused-relationships: ☑️ Performance is stable

☑️ duration
phase no difference [-3ms to 2ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 0ms]
☑️ Phase [start-push-payload] => [end-push-payload]
phase no difference [-3ms to 1ms]
☑️ Phase [end-push-payload] => [Test End]
phase no difference [0ms to 0ms]

Copy link

github-actions bot commented Feb 9, 2025

Commit v Release Performance Report for 212d278

Scenario - basic-record-materialization: ✅ Performance improved

✅ duration
phase estimated improvement -39ms [-53ms to -25ms] OR -2.19% [-3% to -1.42%]
☑️ Phase [navigationStart] => [start-data-generation]
phase no difference [-1ms to 1ms]
☑️ Phase [start-data-generation] => [start-push-payload]
phase no difference [-3ms to 0ms]
✅ Phase [start-push-payload] => [start-peek-records]
phase estimated improvement -31ms [-39ms to -22ms] OR -3.18% [-4.01% to -2.28%]
☑️ Phase [start-peek-records] => [start-record-materialization]
phase no difference [0ms to 0ms]
☑️ Phase [start-record-materialization] => [end-record-materialization]
phase no difference [-7ms to 6ms]
✅ Phase [end-record-materialization] => [Test End]
phase estimated improvement -1ms [-2ms to 0ms] OR -2.87% [-5.93% to -1.02%]

Scenario - relationship-materialization-simple: ☑️ Performance is stable

☑️ duration
phase no difference [-5ms to 5ms]
☑️ Phase [navigationStart] => [start-find-all]
phase no difference [0ms to 1ms]
☑️ Phase [start-find-all] => [start-materialization]
phase no difference [-4ms to 1ms]
☑️ Phase [start-materialization] => [end-materialization]
phase no difference [-1ms to 4ms]
☑️ Phase [end-materialization] => [Test End]
phase no difference [-1ms to 1ms]

Scenario - relationship-materialization-complex: ✅ Performance improved

✅ duration
phase estimated improvement -21ms [-38ms to -6ms] OR -0.82% [-1.47% to -0.22%]
☑️ Phase [navigationStart] => [start-data-generation]
phase no difference [-1ms to 0ms]
⚠️ Phase [start-data-generation] => [start-push-payload]
phase estimated regression +2ms [1ms to 2ms] OR +1.45% [0.97% to 1.93%]
✅ Phase [start-push-payload] => [start-peek-records]
phase estimated improvement -16ms [-21ms to -12ms] OR -3.82% [-4.78% to -2.83%]
☑️ Phase [start-peek-records] => [start-record-materialization]
phase no difference [0ms to 0ms]
☑️ Phase [start-record-materialization] => [start-relationship-materialization]
phase no difference [-4ms to 2ms]
☑️ Phase [start-relationship-materialization] => [end-relationship-materialization]
phase no difference [-22ms to 3ms]
☑️ Phase [end-relationship-materialization] => [Test End]
phase no difference [0ms to 4ms]

Scenario - unload: ✅ Performance improved

✅ duration
phase estimated improvement -7ms [-10ms to -4ms] OR -1.27% [-1.87% to -0.66%]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 1ms]
✅ Phase [start-push-payload] => [start-unload-records]
phase estimated improvement -6ms [-8ms to -3ms] OR -2.07% [-3% to -1.2%]
☑️ Phase [start-unload-records] => [end-unload-records]
phase no difference [-2ms to 0ms]
☑️ Phase [end-unload-records] => [Test End]
phase no difference [0ms to 0ms]

Scenario - unload-all: ✅ Performance improved

✅ duration
phase estimated improvement -20ms [-36ms to -4ms] OR -1.42% [-2.6% to -0.31%]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [0ms to 2ms]
✅ Phase [start-push-payload] => [start-materialization]
phase estimated improvement -12ms [-19ms to -6ms] OR -2.12% [-3.18% to -1.05%]
☑️ Phase [start-materialization] => [start-unload-all]
phase no difference [-8ms to 1ms]
☑️ Phase [start-unload-all] => [end-unload-all]
phase no difference [-10ms to 1ms]
☑️ Phase [end-unload-all] => [Test End]
phase no difference [0ms to 1ms]

Scenario - destroy: ✅ Performance improved

✅ duration
phase estimated improvement -4ms [-8ms to -1ms] OR -0.83% [-1.49% to -0.17%]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 1ms]
✅ Phase [start-push-payload] => [start-destroy-records]
phase estimated improvement -2ms [-5ms to 0ms] OR -0.83% [-1.68% to -0.01%]
✅ Phase [start-destroy-records] => [end-destroy-records]
phase estimated improvement -3ms [-5ms to 0ms] OR -2.9% [-5.49% to -0.43%]
☑️ Phase [end-destroy-records] => [Test End]
phase no difference [0ms to 0ms]

Scenario - add-children: ✅ Performance improved

✅ duration
phase estimated improvement -7ms [-9ms to -4ms] OR -1.57% [-2.16% to -1.02%]
☑️ Phase [navigationStart] => [start-push-initial-payload]
phase no difference [0ms to 1ms]
✅ Phase [start-push-initial-payload] => [start-push-update-payload]
phase estimated improvement -3ms [-4ms to -1ms] OR -2.05% [-3.61% to -0.57%]
✅ Phase [start-push-update-payload] => [end-push-update-payload]
phase estimated improvement -4ms [-6ms to -3ms] OR -4.39% [-6.06% to -2.73%]
☑️ Phase [end-push-update-payload] => [Test End]
phase no difference [-1ms to 1ms]

Scenario - unused-relationships: ✅ Performance improved

✅ duration
phase estimated improvement -9ms [-11ms to -6ms] OR -1.92% [-2.54% to -1.33%]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 0ms]
✅ Phase [start-push-payload] => [end-push-payload]
phase estimated improvement -8ms [-10ms to -6ms] OR -2.88% [-3.75% to -2.1%]
☑️ Phase [end-push-payload] => [Test End]
phase no difference [0ms to 0ms]

@runspired runspired merged commit 9d53d34 into main Feb 9, 2025
21 of 23 checks passed
@runspired runspired deleted the perf-sort-order branch February 9, 2025 23:30
gitKrystan pushed a commit that referenced this pull request Feb 11, 2025
* perf: reduce notifications on relationship remote state updates

* fix local replace semantics

* fix rollback/sort-order

* cleanup notifications mroe
gitKrystan pushed a commit that referenced this pull request Feb 18, 2025
* perf: reduce notifications on relationship remote state updates

* fix local replace semantics

* fix rollback/sort-order

* cleanup notifications mroe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-perf Activates Performance Checks in CI 🎯 canary PR is targeting canary (default) 🏷️ perf PRs that improve performance in a notable way
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

1 participant