一个人从 2024 年 3 月 17 日起,每天都写一点,950 天、4200 多次提交,做出了一个用 Rust 写的小型 JavaScript 引擎 Yavashark。作者在 10 月 28 日的官宣文章里说,它已经能通过约 82% 的 test262 测试,还支持 Temporal、Intl,也能跑 TypeScript 和 React。
不用装任何东西,打开 yavashark.dev 就能在浏览器里直接试这个引擎的 Playground。作者也很坦白:现在的版本还很慢,没有隐藏类、内联缓存、NaN-boxing 这些优化,用的主要是树遍历解释器,只在 async/await 上用了字节码。
后续路线包括新的垃圾回收器、NaN-boxing、带内联缓存的新字节码。作者提到一个原型在 19 个微基准上平均比无 JIT 的 V8 快约 3.5 倍,但他自己也提醒要打折扣看,毕竟原型还没真正并入引擎。先把它当成一个能动手玩的引擎样本,别当成 V8 平替。
更多细节见官宣文章:Yavashark: I’ve Built A JS Engine Every Day For 950 Days Straight。
来源:Yavashark 官方博客,原文:https://yavashark.dev/blog/announcing-yavashark/



没有回复内容