Hacker News 中文摘要

RSS订阅

《Brimstone:基于Rust编写的ES2025 JavaScript引擎》 -- Brimstone: ES2025 JavaScript engine written in Rust

文章摘要

Hans-Halverson开发了一个名为Brimstone的新项目,这是一个用Rust语言编写的JavaScript引擎。该项目托管在GitHub上,展示了用Rust实现JavaScript引擎的技术尝试。

文章总结

项目名称:Brimstone - 基于Rust编写的新JavaScript引擎

核心内容:

Brimstone是一个完全用Rust从头开发的JavaScript引擎,旨在完整支持JavaScript语言规范。目前已完成ECMAScript 2024标准及2025年2月TC39会议阶段4提案的绝大部分实现(测试覆盖率>97%),但尚未达到生产环境使用标准。

技术亮点:

  1. 架构设计

    • 受V8引擎Ignition设计启发的字节码虚拟机
    • 采用高度非安全Rust编写的压缩垃圾回收器
    • 自主实现的RegExp引擎和解析器
    • 严格按规范实现的内置对象和函数
  2. 关键依赖
    除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月)。

评论总结

总结评论内容:

  1. 与其他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."
  1. 对使用不安全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."
  1. 对Rust过度宣传的批评
  • 用户质疑Rust的特殊宣传:"Why is stuff written in rust always promoted as 'written in rust' like its some magic thing?"
  1. 性能比较的普遍需求
  • 用户询问与其他JS引擎的比较:"how does this compare to existing JS engines?"

注:所有评论均未显示评分(None),因此无法评估认可度。