他提到了JRuby和Jython,它起初比他们的同类人慢,但最终超过了他们. Quercus是JVM上的另一个PHP解释器,声称比mod_php更为4x faster,值得注意.
这是否意味着JVM比C慢的一般想法是错误的,或者原始C实现中是否存在缺陷?
Does that mean that the general idea that the JVM is slower than C is wrong, or are there >flaws in the original C implementations?
两者兼而有之
JVM已经存在了很长时间,并且在效率方面取得了重大进展.垃圾收集,jitting,缓存和其他领域比PHP中的“引用”实现更先进.
任何看过PHP的人都会理解为什么很容易实现效率提升.
我个人怀疑JVM可以胜过CPython但是……但我可能错了……我,这是由于JVM GC更快,而且IronPython也是如此.性能改进可能是不依赖于C调用堆栈,例如无堆栈Python. The Jython site states
Jython is approximately as fast as CPython–sometimes faster, sometimes slower. Because >most JVMs–certainly the fastest ones–do long running, hot code will run faster overtime.
我可以将其视为事实,因为JVM将在缓存生成时达到C性能级别等等,基本上否定了VM实现代码的更高级别方面(其中很大一部分是用C编写的)
在许多解释性语言中,例如PHP和Python只是等效C调用和潜入机器代码的桥梁.在JVM中,抖动通过将字节码减少为机器代码等价物来执行类似的功能.最终,高级语法和字节码等中间表示通常会降低到C速度或更快的CPU操作……所以它们都是相同的,只是更多的中间步骤,只会影响加载时的完全效率延迟新代码.在RAM中有一点你说“真正的区别是什么?”答案只是获得它的过程以及决定堆叠速度,垃圾收集算法,寄存器使用和逻辑表示(如算术)的最终表示.