在Windows上,Ruby的特定技术原因是什么?人们报告Linux/OSX的速度下降了3倍,并且有一些模糊的讨论关于Ruby使用Windows版本的编译器产生慢代码,但我找不到任何具体的细节.
谁知道具体细节?我对hurf durf不感兴趣,Windoze糟透了yuk yuks.
Pie*_*BdR 23
我猜有几个可能的选择,他们可能都加起来:
最后,如果有人想要优化Ruby for Windows,那么大量的时间(以及据我所知,资金在Windows上的分析器不是免费提供的)将不得不花费在使用分析器和优化瓶颈上.所有内容都必须在Linux上进行测试,以确保不会损失性能.
当然,应该再次使用他们的新翻译YARV进行测试 .
ane*_*son 15
我没有对YARV解释器的源代码做过多少工作,因此以下注释仅适用于1.8.6 MIR解释器.
在尝试在Visual Studio中为Ruby编写C扩展的过程中,我惊恐地发现Ruby 1.8.6的可下载Windows二进制文件是使用Visual C++ 6.0编译的,它是在第二次世界大战结束后不久发布的. .从那时起,编译器(以及他们所针对的处理器)已大大提高.虽然Linux版本获得了最新的gcc优点,但Windows版本与上个世纪的编译器技术一起出现了问题.这是一个原因.(免责声明:据说1.9是用mingw构建的,其中我不是粉丝,但也必须比VC6更好)
如果不知道你在Windows上发现什么操作特别慢,那么很难进一步评论,但我会注意到我发现Ruby上的I/O实现对网络和本地文件I/O的性能要差得多.我从未深入研究I/O原语的实现,足以看出原因,但我认为实现假设Linux上的快速IO结构是Windows上的快速IO结构,几乎总是不是这样.
| 归档时间: |
|
| 查看次数: |
11684 次 |
| 最近记录: |