| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
✅ Deploy Preview for webkit-jetstream-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Add observable benchmark — Proxy + class inheritance reactivity
What this adds
This PR adds a new workload benchmarking observable, a reactive state library that implements observability via Proxy combined with class inheritance, without redefining any object properties.
Why it complements the existing mobx workload
JetStream already includes a MobX benchmark, which makes this a natural addition — but observable exercises a meaningfully different engine codepath for achieving the same goal (reactive state tracking).
The two approaches differ at a fundamental level:
This distinction matters for engine benchmarking. JS engines optimize property access on objects with stable hidden classes/shapes. MobX's getter/setter approach mutates those shapes, while observable leaves the underlying object intact and routes all access through a Proxy wrapping an inherited prototype chain. These two patterns stress different parts of the runtime — property descriptor lookup vs. Proxy trap dispatch — making them complementary workloads rather than redundant ones.
Why this is a realistic workload
Proxy-based reactivity with class inheritance is a growing pattern in the JS ecosystem. Libraries that avoid property mutation are increasingly preferred for their compatibility with class fields, decorators, and stricter object models. Benchmarking this pattern gives engine developers and implementors signal on how well Proxy + prototype-chain access performs under sustained reactive workloads, which MobX alone does not cover.
Summary
The existing mobx benchmark tests reactivity through property descriptor manipulation. This PR adds a workload that tests reactivity through Proxy interception on top of class inheritance — a distinct, real-world pattern that deserves its own benchmark slot in JetStream.