Python与Java的性能(运行速度)
可能重复:
python比Java / C#慢吗?
忽略每种语言的所有特征,只专注于速度,哪种语言在性能上更好?
您可能认为这是一个相当简单的问题,但是我还没有找到一个不错的问题。
我知道使用python进行某些类型的操作可能会更快,反之亦然,但是我找不到关于此的任何详细信息。 任何人都可以阐明性能差异吗?
4个解决方案
80 votes
Java比Python快。 容易。
Python在很多方面都很有利; 速度不一定是其中之一。
参考文献
python.org/语言比较C ++,Java,Python,Ruby:第一印象
对两种高级的面向对象语言的主观分析:Python与Java的比较
polygenelubricants answered 2020-02-12T05:46:03Z
34 votes
如果您忽略两种语言的特征,那么如何定义“ SPEED”? 基准测试应包含哪些功能,您要忽略哪些功能?
例如:
Java执行空循环的速度是否比Python快?
还是当Python注意到循环体为空,循环头没有副作用并且优化了整个循环时,速度是否更快?
还是“一种语言特征”?
您是否想知道每种语言每秒可以执行多少个字节码?
哪个? 只有快速的还是全部?
您如何计算Java VM JIT编译器在运行时将字节码转换为特定于CPU的汇编代码?
您是否包括代码编译时间(在Java中是额外的,但在Python中总是包括在内)?
结论:您的问题没有答案,因为它没有定义您想要的东西。 即使您说得更清楚,该问题也可能会成为学术性问题,因为您将衡量在现实生活中不重要的内容。 对于我所有的项目,Java和Python一直都足够快。 当然,对于特定情况下的特定问题,我更喜欢一种语言而不是另一种语言。
Aaron Digulla answered 2020-02-12T05:47:04Z
13 votes
没有很好的答案,因为Python和Java都是规范,它们有许多不同的实现。 例如,CPython,IronPython,Jython和PyPy只是其中的少数Python实现。 对于Java,有HotSpot VM,Mac OS X Java VM,OpenJRE等。Jython生成Java字节码,因此它将使用或多或少相同的底层Java。 CPython直接在C中实现了很多事情,因此速度非常快,但是Java VM再一次在C中也实现了许多功能。您可能必须逐个函数地以及跨各种解释器进行测量。 VM做出任何合理的声明。
Michael Aaron Safyan answered 2020-02-12T05:47:26Z
9 votes
不同的语言以不同的效率来做不同的事情。
基准测试游戏包含了许多用许多不同语言实现的编程问题。
Oli answered 2020-02-12T05:47:50Z