加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_马鞍山站长网 (https://www.0555zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动 > 正文

你知道为什么Python这么慢?

发布时间:2018-11-05 02:34:46 所属栏目:移动 来源:Anthony Shaw
导读:副标题#e# Python 现在越来越火,已经迅速扩张到包括 DevOps、数据科学、Web 开发、信息安全等各个领域当中。 然而,相比起 Python 扩张的速度,Python 代码的运行速度就显得有点逊色了。 在代码运行速度方面,Java、C、C++、C# 和 Python 要如何进行比较呢

这样 python.exe 将使用 DTrace 追踪所有代码。Paul Ross 也作过关于 DTrace 的闪电演讲。你可以下载 Python 的 DTrace 启动文件来查看函数调用、执行时间、CPU 时间、系统调用,以及各种其它的内容。

  1. sudo dtrace -s toolkit/<tracer>.d -c ‘../cpython/python.exe script.py’

py_callflow 追踪器显示了程序里调用的所有函数。

那么,Python 的动态类型会让它变慢吗?

  • 类型比较和类型转换消耗的资源是比较多的,每次读取、写入或引用变量时都会检查变量的类型
  • Python 的动态程度让它难以被优化,因此很多 Python 的替代品能够如此快都是为了提升速度而在灵活性方面作出了妥协
  • 而 Cython 结合了 C 的静态类型和 Python 来优化已知类型的代码,它可以将性能提升 84 倍。

总结

由于 Python 是一种动态、多功能的语言,因此运行起来会相对缓慢。对于不同的实际需求,可以使用各种不同的优化或替代方案。

例如可以使用异步,引入分析工具或使用多种解释器来优化 Python 程序。

对于不要求启动时间且代码可以充分利用 JIT 的程序,可以考虑使用 PyPy。

而对于看重性能并且静态类型变量较多的程序,不妨使用 Cython。

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:网站开发网_马鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!