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

feat(zero-cache): time-slice IVM for fairness and responsiveness #3651

Merged
merged 3 commits into from
Jan 29, 2025

Conversation

darkgnotic
Copy link
Contributor

When running an IVM pipeline, yield the process every 500ms, preventing a long-running query from hogging the CPU. This should improve fairness as well as eliminate connection timeouts (from missed pongs).

@darkgnotic darkgnotic requested a review from tantaman January 29, 2025 21:41
Copy link

vercel bot commented Jan 29, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
replicache-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 29, 2025 9:46pm
zbugs ✅ Ready (Inspect) Visit Preview Jan 29, 2025 9:46pm

Copy link

github-actions bot commented Jan 29, 2025

🐰 Bencher Report

Branchdarkgnotic/ivm-yield
Testbedlocalhost
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/client/zero.bench.ts > basics > All 1000 rows x 10 columns (numbers)📈 view plot
🚷 view threshold
72.34
(-0.02%)
69.71
(96.36%)
src/client/zero.bench.ts > with filter > Lower rows 500 x 10 columns (numbers)📈 view plot
🚷 view threshold
93.77
(-0.82%)
91.15
(97.21%)
🐰 View full continuous benchmarking report in Bencher

Copy link

🐰 Bencher Report

Branchdarkgnotic/ivm-yield
Testbedlocalhost
Click to view all benchmark results
BenchmarkFile SizeBenchmark Result
kilobytes (KB)
(Result Δ%)
Upper Boundary
kilobytes (KB)
(Limit %)
zero-package.tgz📈 view plot
🚷 view threshold
920.31
(+0.03%)
938.44
(98.07%)
zero.js📈 view plot
🚷 view threshold
171.55
(0.00%)
174.99
(98.04%)
zero.js.br📈 view plot
🚷 view threshold
47.80
(0.00%)
48.76
(98.04%)
🐰 View full continuous benchmarking report in Bencher

@darkgnotic darkgnotic enabled auto-merge (squash) January 29, 2025 21:50
@darkgnotic darkgnotic merged commit 698a837 into main Jan 29, 2025
11 checks passed
@darkgnotic darkgnotic deleted the darkgnotic/ivm-yield branch January 29, 2025 21:51
Copy link
Contributor

@tantaman tantaman left a comment

Choose a reason for hiding this comment

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

lgtm

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