关于速度:Python VS Java

Jos*_*son 9 python java

只是对Python和Java的速度感到好奇.直观地说,Python应该比java慢得多,但我想知道更多......有人能给我更多吗?或者介绍一些不错的帖子来阅读?

Mar*_*ers 13

Python(CPython)的当前标准实现比Java慢,因为标准的CPython实现没有强大的JIT编译器.然而.

有几个项目旨在生成更快的Python实现:

根据我的尝试,这些项目中的某些项目可以为特定算法提供非常好的加速,但是对于典型的应用程序代码,您仍然无法像Java那样快速运行.目前的大部分努力似乎都是针对PyPy的.


Len*_*bro 10

提到缺少JIT是一个原因,但另一个原因是Python是动态的.是的,这确实使语言变慢.您可以使用Cython自己查看.

用Python编写的函数通常可以使用Cython编译为C. 它使它更快.但是当你开始向变量和参数添加类型信息时它会变得非常快,因为Cython和C编译器都可以开始应用各种简单的优化,当类型是动态时你不能这样做.

因此,差异的一部分是Python的内在动态.

关于未来:Python 3有函数注释:http://www.python.org/dev/peps/pep-3107/我希望在几年后,像PyPy和UnladenSwallow这样的JIT编译器将使用这些信息,你会发现Python和Java一样快,并且仔细地应用Cython,甚至更快.:)