35

我四处寻找答案,很多东西似乎已经过时或过时了。Python 3 是否已经更新,因此它比 Python 2.7 快得多,还是我还是坚持使用我的可行代码更好?

4

4 回答 4

37

问题不在于速度——它们要么是相同的速度,要么是 Python 3.x 更快(取决于您查看的基准测试)。更具体地说,Python 2 过去速度更快,但显然,它们现在彼此相提并论(?)。请参阅评论和此幻灯片(向后)。

核心开发人员也在积极致力于优化 Python 3——Python 3 的每个新版本都比上一个版本更快您可以通过监控python-dev 邮件列表了解有关优化 Python(以及许多复杂性)的最新建议和想法。

更确切地说,许多人过去认为没有更新的原因是因为当 Python 3 出现时,以及之后的几年,大多数 Python 库都没有更新为在 Python 3.x 上工作。然而,幸运的是,今天这种情况得到了极大的改善——大多数 3rd 方库现在都兼容 Python 3。

Python FAQ包含更多信息。您还可以查看Python Wall of SuperpowersPy3 Readiness,以了解当前哪些流行的 Python 库与 Python 3 兼容。

更新:(2017 年夏季)

我觉得有必要注意到对 Python 2 的支持将于 2020 年正式结束

许多第 3 方库也计划效仿——科学生态系统的一大子集(例如 matplotlib、pandas、ipython)计划在 2020 年放弃对 Python 2 的支持,Django 正在放弃支持……我不会如果其他图书馆也这样做,我会感到惊讶。

因此,如果您有兴趣确保可以在 Python 或您最喜欢的库中使用最新和最强大的功能,那么您应该考虑尽快迁移到 Python 3。

以下是将 Python 2 代码转换为 3 代码的一些指南:

于 2012-06-05T16:31:06.443 回答
14

仅供参考,是一个比较 Python 2.7 和 Python 3.3 的性能基准。Python 3.3 比 Python 2.7 更快。

于 2012-06-05T17:05:35.240 回答
9

Python 3.3 包括对 Unicode 字符串的优化,可减少它们的内存消耗。如果更多的代码适合缓存,这可能会转化为更快的代码。

真正知道的唯一方法是对两者中最关键的代码进行基准测试,看看有什么区别。

于 2012-06-05T16:37:44.110 回答
5

您的应用程序对库的必要性将决定 Python3 还是 Pyhton2 更好。

于 2012-06-05T16:46:15.127 回答