Comments (4)
Hi, just in case you missed this:
https://github.com/modderme123/js-reactivity-benchmark
https://github.com/modderme123/reactively/blob/main/Reactive-algorithms.md#benchmarks
from signia.
ooh very useful thanks!
from signia.
I will be interesting to compare creation / updation costs as well as GC pressure, between Signia's incremental computeds (diffing) vs. "standard" hybrid push + lazy/pull approach.
Good write-up by the way :)
https://signia.tldraw.dev/docs/scalability
Transaction (batch + possible rollback) is a nice feature too.
But note that Milo's benchmark only stress-tests core primitives in various graph topologies. This provides useful metrics but of course doesn't tell the full story (there's a separate UI benchmark for this)
https://github.com/krausest/js-framework-benchmark
from signia.
I will be interesting to compare creation / updation costs as well as GC pressure, between Signia's incremental computeds (diffing) vs. "standard" hybrid push + lazy/pull approach.
Yeah would be nice to have some metrics on this. The incremental stuff mostly becomes valuable for larger collections and/or more expensive operations, and I'm sure folks would appreciate being offered some intuition about that those kinds of sizes/operations are.
note that Milo's benchmark only stress-tests core primitives in various graph topologies. This provides useful metrics but of course doesn't tell the full story
Already found a significant win this morning thanks to these 😊 but in general yeah you're right. The microbenchmarks don't matter too much for real apps. The cost of the effects/derivations far outweigh the reactivity overhead, so the important points of comparison for pure signals libraries are stuff like features, DX, and integration with UI rendering.
from signia.
Related Issues (20)
- Allow squashing history entries HOT 2
- Add perf profiling tool
- Flesh out JSDoc
- Bug in docs code example? HOT 1
- Add react bindings
- Can't use signia-react-jsx jsxImportSource with Vite HOT 1
- Add Vue to the list of signals 🖖🏼
- Signia not reactive on nextjs HOT 6
- Add react bindings HOT 1
- Vite's Hot module replacement doesn't work with signia-react-jsx HOT 2
- Build fails in Vite HOT 3
- Optimize flushChanges via WeakMap<Atom, ArraySet<EffectScheduler>> HOT 1
- More extensible effect notification HOT 2
- Warn or throw error when signal.value is read untracked during component render HOT 1
- Multiple versions of signia detected. HOT 3
- Write API docs
- `signia-react-jsx` doesn't work with lazy-loaded components in Vite/React
- Does Signia support SSR?
- Write Rationale + comparison docs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from signia.