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中实现了许多函数。您可能需要逐个函数地进行测量,并且跨越各种解释器和虚拟机作出任何合理的说明。