Spinel on Rails
6 hours ago
- #Ahead-of-Time Compilation
- #Rails Performance
- #Ruby Compilation
- Spinel 是 Matz 开发的一款 Ruby 编译器,它采用提前编译技术将 Ruby 代码编译成本地二进制文件,而 Roundhouse 则将 Rails 应用转译成包括 Ruby 在内的多种语言。
- 这两个项目最终聚焦于一个没有元编程的 Ruby 公共子集,从而实现了这样的流水线:Rails 应用 → Roundhouse → Ruby → Spinel → 本地二进制文件。
- 经过关闭 239 个问题后,对这种融合的押注终于实现,主要是提升了 Spinel 在负载下的推断、调度和垃圾回收能力,而非扩展子集本身。
- 性能基准测试显示,Spinel 二进制文件具有较高的内存效率(驻留集大小 12-13 MB)和可观的吞吐量,而 JRuby 则通过占用更多内存在吞吐量方面表现出色。
- 这次协作涉及为问题提交最小化复现案例,Matz 根据实践经验精炼了子集的边界,强调过程重于对结果的支持。