是的,Ruby 速度很快,但是…

  • 主要观点:John Hawthorn 讨论将 Crystal 集成到 Ruby 应用的工具,作者认为其观点有遗漏,需讨论 Crystal 的真实性能和优势,以及 Ruby/Crystal 集成的重要性。
  • 关键信息

    • Ruby 有即时编译器(--yjit),性能不错,作者喜爱 Ruby。
    • 比较 Ruby 的 YJIT、Python PyPy 和纯 Crystal 的执行情况,纯 Crystal 在基准测试中非常快。
    • Crystal 编译可优化代码,默认集成编译的 Crystal 代码非高效,需添加特定代码。
    • Crystal 和 Ruby 各有优势,集成它们可丰富开发工具,如 crystalruby 和 anyolite 可相互调用。
  • 重要细节

    • Ruby YJIT 性能:在作者电脑上,带 --yjit 的 Ruby 性能良好,如计算斐波那契数列的不同优化版本的时间。
    • Python PyPy 性能:作者仅测试了最后一个简单 while 循环问题,PyPy 耗时更少。
    • Crystal 性能:编译为 release 模式时,Crystal 性能惊人,计算斐波那契数列等操作速度极快,且使用 UInt128 类型解释部分性能差异。
    • Crystal 编译优化:默认集成编译的 Crystal 代码未用 release 模式,影响性能,需添加特定代码。
    • 关于 LLVM 优化:添加不同参数测试发现 LLVM 仍会优化代码,从命令行获取参数可改变时间,但 Ruby 和 Python 版本仍有显著差距,且使用原始类型很重要。
阅读 10
0 条评论