Python比C ++更快更轻吗?

我一直认为Python的优点是代码的可读性和开发速度,但是时间和内存的使用不如C ++。

这些数据让我非常吃惊。

你的经验告诉你什么关于Python与C ++的时间和内存使用情况?

我想你不正确地阅读这些统计数据。 他们表明,Python的速度比C ++ 大约400倍,除了一个例外,Python更像是一个内存pipe理器。 当涉及到源代码大小时,Python赢得了胜利。

我对Python的使用经验表明,在进行任何严格的数字运算时,Python的速度比C ++慢10到100倍。 其原因有很多,主要有:a)解释Python,C ++编译; b)Python没有原语,包括内buildtypes(int,float等)在内的所有东西都是对象; c)Python列表可以保存不同types的对象,因此每个条目都必须存储有关其types的附加数据。 这些都严重阻碍了运行时和内存的消耗。

这是没有理由忽略Python。 许多软件即使在100倍的时间缓慢因素下也不需要太多的时间和内存。 开发成本是Python以简单和简洁的风格赢得的地方。 这种开发成本的提高往往超过了额外的CPU和内存资源的成本。 但是,如果没有,那么C ++会获胜。

所有在枪战中最慢(> 100x)的Python用法都是需要高GFLop / s计数的科学操作。 不pipe怎样,你不应该使用python。 使用python的正确方法是导入一个模块来完成这些计算,然后和家人一起度过一个轻松的下午。 是Python的方式:)

我的经验和基准一样。 Python可能会很慢,并使用更多的内存。 我写了很多,less得多的代码,它第一次工作,更less的debugging。 由于它为我pipe理内存,我不必做任何内存pipe理,节省了几个小时追查核心泄漏。

你有什么问题?

来源大小并不是一个明智的事情来衡量。 例如,下面的shell脚本:

 cat foobar 

比Python或C ++等效的要短得多。

另外: Psyco与C ++ 。

这仍然是一个糟糕的比较,因为无论如何,没有人会去做那些基准testing的基准testing。 更好的方法是比较现实应用程序或C ++与NumPy的性能,以了解您的程序是否会明显变慢。

这里的问题是你有两种不同的语言来解决两个不同的问题,比如把C ++和汇编语言进行比较。

Python是用于快速应用程序开发和性能是最小的问题。

C ++ 不适用于快速的应用程序开发,并且inheritance了C语言的速度 – 用于低级编程。

使用易于使用的编程语言也是一样的问题 – 它们很慢(有时甚至是内存占用)。

这些是控制而不是处理的语言。 如果我必须编写应用程序来转换图像,并且也必须使用Python,那么所有的处理都可以用C ++编写,并通过绑定连接到Python,而接口和过程控制将是Python的定义。

我认为这些统计数据显示Python速度更慢,并且为这些基准testing使用了更多的内存 – 您确定您正确地阅读了它们吗?

根据我的经验,主要是用Python编写networking和文件系统绑定的程序,Python在任何重要的方面速度都不会太慢。 对于这种工作,其好处大于成本。