perf: version based tracking and link reuse#26
Conversation
e5912de to
322f6cf
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8f6ed70abc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 76d6016a07
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
218bdc5 to
7c7279b
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7c7279b396
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
ReScript Signals benchmark: PR vs mainCompared implementations:
Overall:
Per-test delta (lower is better):
Note: single-machine run in CI. Numbers can vary with runner load and Node/V8 version. |
Reactivity benchmark: PR vs top frameworksCompared implementations:
Overall ranking (lower total ms is better):
Per-test runtime (ms):
Note: single-machine run in CI. Numbers can vary with runner load and Node/V8 version. |
a1291aa to
e95b03d
Compare
|
This is getting too big and complex, let's see if we can simplify these changes. Some of these performance improvements added too much complexity for a little gain. For example:
|
|
Good things to keep:
|
7376455 to
afac55a
Compare
- Keep dependency links across runs and clean stale links by tracking version instead of full clear/rebuild. - Add per-run dependency cursors and fast paths for computed/effect tracking to reduce fallback scans. - Improve propagation/flush behavior with queue-draining fixes, selective computed deferral, and ordering optimizations. - Add low-overhead freshness/notify fast paths (global version stamp, direct-effect notify path, computed-subscriber metadata).
afac55a to
006acd7
Compare
|
🎉 This PR is included in version rescript-signals-v3.1.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Summary
lastDepas a true tail pointer and added per-run dependency cursors for fast reuse.runComputedCycleand removed per-run full dep clears.~equals.~equals) and full path (custom~equals).API
Computed.makestill supports optional~equals.Validation
npm run build && npm run testpasses for both workspaces.Benchmarks
ReScript Signals (main)vsReScript Signals (current)ReScript Signalsvs selected top frameworks inmilomg/js-reactivity-benchmarkNotes
ci-benchmark-workflows) so it can be merged independently first.