鲁比在某些事情上react 迟钝.但问题最大的部分是什么?
垃圾收集器对性能的影响有多大?我知道我曾经有过单独运行垃圾收集器需要几秒钟的经历,尤其是在使用OpenGL库时.
我在Ruby中使用过矩阵数学库,它们的速度特别慢.ruby如何实现基础数学有问题吗?
Ruby中是否有任何无法有效实现的动态特性?如果是这样的话,Lua和Python等其他语言如何解决这些问题?
最近有没有显著提高绩效的工作?
鲁比在某些事情上react 迟钝.但问题最大的部分是什么?
垃圾收集器对性能的影响有多大?我知道我曾经有过单独运行垃圾收集器需要几秒钟的经历,尤其是在使用OpenGL库时.
我在Ruby中使用过矩阵数学库,它们的速度特别慢.ruby如何实现基础数学有问题吗?
Ruby中是否有任何无法有效实现的动态特性?如果是这样的话,Lua和Python等其他语言如何解决这些问题?
最近有没有显著提高绩效的工作?
鲁比很慢.但问题最大的部分是什么?
它对方法进行"后期查找",以允许灵活性.这让它慢了很多.它还必须记住每个上下文的变量名以允许eval,因此它的帧和方法调用较慢.此外,它目前还缺乏一个好的JIT编译器,尽管MRI 1.9有一个字节码编译器(更好),jruby将其编译成java字节码,然后通过HotSpot JVM的JIT编译器进行编译,但最终的速度与1.9差不多.
垃圾收集器对性能的影响有多大?我知道我曾经有过单独运行垃圾收集器需要几秒钟的经历,尤其是在使用OpenGL库时.
从http://www.igvita.com/2009/06/13/profiling-ruby-with-googles-perftools/的一些图中,我可以说需要大约10%,这是相当大的一点——你可以通过增加gc中的malloc_限制来减少这种影响.c和重新编译.
我在Ruby中使用过矩阵数学库,它们的速度特别慢.ruby如何实现基础数学有问题吗?
Ruby 1.8"没有"实现基本数学,它实现了数值类,每次调用都会调用Fixnum#+Fixnum#/一次,这很慢.Ruby 1.9通过内联一些基本的数学运算来作弊.
Ruby中是否有任何无法有效实现的动态特性?如果是这样的话,Lua和Python等其他语言如何解决这些问题?
像eval这样的东西很难有效地实现,尽管我相信还有很多工作要做.Ruby的关键在于,它必须适应某些人自发地改变类的定义,所以它必须非常保守.
最近有没有显著提高绩效的工作?
1.9就像是2倍的加速.它也更节省空间.JRuby一直在努力提高速度(而且在GC中花费的时间可能比KRI少).除此之外,除了我一直在做的一些小爱好,我知道的不多.还要注意的是,1.9的字符串有时较慢,因为编码友好.