更快的rubyFixnum乘法?
使用
ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-linux]
我一直在进行大量的分析,并且我注意到ruby Fixnum乘法非常慢. 通过一些分析,我已经了解到这是(部分)因为每次调用Fixnum#*都涉及6次调用Kernel#kind_of. 我知道你可以写C扩展,但这些乘法遍布整个代码.那么,无论如何都要避免Ruby中的这种开销吗? 谢谢 解决方法
我严重怀疑这些测量是否准确,原因如下:
>您没有说明您正在使用哪种Ruby实现,但ruby-prof是一个Ruby分析器.它描述了Ruby代码.没有Ruby实现,我知道Fixnum#*是Ruby代码.在MRI,YARV,MRuby和tinyrb中它是C代码,在Rubinius中它是C代码,在MacRuby中它是Objective-C代码,在JRuby和XRuby中它是Java代码,在RubyGoLightly它是Go代码,在IronRuby和Ruby中. NET是C#代码,在MagLev和SmallRuby中它是Smalltalk代码,在Cardinal中它是PASM代码. ruby-prof可以配置Ruby代码,它不能分析C,C,Objective-C,Java,C#,Go,Smalltalk或PASM.只有Ruby.因此,它根本无法分析Fixnum#*. > Rubinius: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |