Python与Java性能(运行时速度)
可能重复:
python比java / C#慢吗?
忽略每种语言的所有特征,并且只关注速度,哪种语言更好地performance出明智的performance呢?
你会认为这将是一个相当简单的问题来回答,但我还没有find一个体面的问题。
我知道一些types的操作可能会更快与python,反之亦然,但我无法find任何详细的信息。 任何人都可以阐明性能差异?
Java比Python快。 容易。
Python对许多事情都有利; 速度不一定是其中之一。
参考
- python.org/Language比较
- C ++ vs Java vs Python vs Ruby:第一印象
- 对两种高级面向对象语言的主观分析:比较Python和Java
如果你忽略了这两种语言的特点,你如何定义“SPEED”? 哪些function应该在你的基准testing中,哪些你想省略?
例如:
- 当Java比Python更快地执行一个空循环时,它会计数吗?
- 或者当Python注意到循环体是空的,循环头没有副作用,并且优化了整个循环?
- 还是那个“语言特色”?
- 你想知道每种语言每秒可以执行多less字节码吗?
- 哪个? 只有快速的或全部的?
- 如何计算在运行时将字节码转换为CPU特定汇编程序代码的Java VM JIT编译器?
- 你是否包含代码编译时间(在Java中是额外的,但总是包含在Python中)?
结论:你的问题没有答案,因为它没有定义你想要的。 即使你说得更清楚,这个问题也许会变成学术的,因为你会测量一些在现实生活中不算的东西。 对于我的所有项目,Java和Python都一直足够快。 当然,在某种情况下,我宁愿select一种语言来处理特定的问题。
没有什么好的答案,因为Python和Java都是有很多不同实现的规范。 例如,CPython,IronPython,Jython和PyPy就是那里的less数Python实现。 对于Java,有HotSpot虚拟机,Mac OS X Java虚拟机,OpenJRE等。Jython生成Java字节码,所以它将使用或多或less相同的底层Java。 CPython直接在C中实现了很多东西,所以速度非常快,但是Java虚拟机也在C中实现了许多函数。您可能需要逐个函数地进行测量,并且跨越各种解释器和虚拟机作出任何合理的说明。