文章摘要
Hans-Halverson开发了一个名为Brimstone的新项目,这是一个用Rust语言编写的JavaScript引擎。该项目托管在GitHub上,展示了用Rust实现JavaScript引擎的技术尝试。
文章总结
项目名称:Brimstone - 基于Rust编写的新JavaScript引擎
核心内容:
Brimstone是一个完全用Rust从头开发的JavaScript引擎,旨在完整支持JavaScript语言规范。目前已完成ECMAScript 2024标准及2025年2月TC39会议阶段4提案的绝大部分实现(测试覆盖率>97%),但尚未达到生产环境使用标准。
技术亮点:
架构设计
- 受V8引擎Ignition设计启发的字节码虚拟机
- 采用高度非安全Rust编写的压缩垃圾回收器
- 自主实现的RegExp引擎和解析器
- 严格按规范实现的内置对象和函数
关键依赖
除ICU4X(用于Unicode处理)外,绝大多数组件均为自主开发
开发状态:
- 已实现:ES2024全部特性及最新TC39提案(除SharedArrayBuffer和Atomics)
- 测试体系:集成test262测试套件及自定义测试框架,支持多测试套件并行运行
使用方式:
```bash
编译
cargo build
执行JS文件
./target/debug/bs hello.js ```
测试命令:
bash
cargo brimstone-test # 运行集成测试
cargo test # 运行单元测试
项目数据:
- ⭐ 113 stars
- 👀 3 watchers
- 🍴 6 forks
- 代码构成:Rust 96.8% + JavaScript 3.2%
该项目持续活跃开发中,最近更新涉及Unicode属性处理、测试框架优化等核心功能改进(最新提交于2025年9月)。
评论总结
总结评论内容:
- 与其他Rust实现的JS引擎比较的需求
- 用户建议与Boa引擎比较:"Could you compare it with Boa? It is written in Rust too."
- 用户提供Boa和Brimstone的编译大小对比:"Boa: 23M Brimstone: 6.3M...for passing 97% of the spec at this size is pretty impressive."
- 对使用不安全Rust实现垃圾回收的质疑
- 用户质疑内存安全选择:"Memory safety is one of Rust's biggest selling points. It's a bit baffling that this engine would choose to implement unsafe garbage collection."
- 用户调侃不安全实现:"'Compacting garbage collector, written in very unsafe Rust' got me cracking."
- 对Rust过度宣传的批评
- 用户质疑Rust的特殊宣传:"Why is stuff written in rust always promoted as 'written in rust' like its some magic thing?"
- 性能比较的普遍需求
- 用户询问与其他JS引擎的比较:"how does this compare to existing JS engines?"
注:所有评论均未显示评分(None),因此无法评估认可度。