Ruby FFI 的 JIT 加速:告别性能税
2025-02-12
本文探讨了如何通过即时编译(JIT)技术提升 Ruby 的 FFI (Foreign Function Interface) 性能。作者通过基准测试展示了 FFI 相比原生扩展的性能劣势,并提出了一种名为 FJIT 的解决方案。FJIT 利用 RJIT 和自定义的机器码生成工具,在运行时生成机器码来调用外部函数,从而绕过 FFI 的开销。测试结果显示,FJIT 的性能甚至优于原生扩展,为追求高性能的 Ruby 开发者提供了一种新的选择。目前 FJIT 仍处于原型阶段,仅支持 ARM64 架构,但作者相信未来可以扩展到其他架构和更复杂的函数调用。
开发