Ruby在Windows上运行如此之慢的具体技术原因是什么?人们报道说Linux/OSX的速度下降了3倍,关于Ruby使用Windows版本的编译器生成慢代码的问题也有一些模糊的讨论,但我找不到任何具体细节.

有人知props 体情况吗?我对hurf durf Windoze不感兴趣.

推荐答案

我猜有几个可能的 Select ,它们可能都加起来了:

  1. Ruby主要是在Linux上开发的,它最终得到了机械优化.该代码定期在Windows上进行测试,一切正常,但结果仍然是开发人员在Linux上的优化时间要比Windows多.
  2. 根据我的经验,最新版本的gcc(4.3及更高版本)比最新版本的Visual Studio(至少2005年)生成的代码效率更高.我的测试包括在这两种情况下花费大约一天的时间来寻找代码优化的最佳选项.
  3. 与第1点相关,如果使用gcc for Windows或Linux编译同一个项目,我通常会观察到Windows上的性能比Linux下降了约20%.在这里,我想这是因为Linux(或Unices)是gcc的主要目标,windows是一个端口.与Linux相比,Windows优化所花的时间更少.

最后,如果你想优化Ruby for Windows,就必须花费大量的时间(据我所知,Windows上的探查器并非免费提供)来使用探查器和优化瓶颈.所有这些都必须在Linux上进行测试,以确保没有性能损失.

当然,所有这些都应该用新的解释器再次测试

Ruby相关问答推荐

ruby 3.1:使用方法(:名称)简化代码莫名其妙地失败

有没有办法向用户返回 nil 消息但不中断 ruby​​ 中的应用程序?

如何在 Shopify 脚本编辑器中显示数组值?

Python 正则表达式是否等同于 Ruby 的原子分组?

Ruby反斜杠在新行上继续字符串?

查看 Savon 请求 XML 而不发送到服务器

构造Ruby的现代方法是什么?

如何期望 RSpec should_receive 的一些(但不是全部)参数?

Ruby 中的 Fail vs. raise:我们真的应该相信风格指南吗?

确保如何在 ruby​​ 中工作

如何自定义 Jekyll 的 url?

如何测试数组中的所有项目是否相同?

Ruby中block和&block的区别

项目目录的相对路径

有条件的数组的第一个元素

找不到Bundle 命令 mac

如何在 Rails 3 迁移中描述枚举列?

Ruby:是否可以在模块中定义类方法?

何时在 Ruby 中使用 Struct 而不是 Hash?

如何创建一个 Gemfile?