New from PocketJS: quickjs-oxide.
A JavaScript interpreter modeled after QuickJS, implemented from scratch by AI in Rust with zero unsafe code, and the first of its kind to achieve performance competitive with the original QuickJS.
We spent one month achieving a high Test262 pass rate, then another month cleaning up the code, getting rid of the AI slop, and reaching competitive performance with just a stack VM and reference counting. Over the last weekend at RustChinaConf, we rewrote the core into a register VM and achieved this level of performance in just two days.
Now quickjs-oxide outperforms most non-JIT JavaScript engines on benchmarks like V8 v7 and the Octane suite, using only around 30% more memory than QuickJS, while maintaining zero lines of unsafe implementation code and no external dependencies except for BigInt support.
Huge credit to @ericoolen_eric for making this happen, and massive thanks to our sponsor @ZephyrCloudIO for supporting the journey!
We moved the Zephyr Cloud dashboard (1 host + 7 Module Federation remotes) from Rspack to Rsbuild 2 by @rspack_dev, then let Rsdoctor 2 drive the cleanup.
First load: 1,045 → 729 KB gzip (−30%)
Build: 112s → 90s (−20%)
15-route journey: 1,294 → 788 KB (−39%)
Numbers 🧵