Python速度编译神器学生来看

如题所述

Python速度编译神器快来体验吧

Python速度编译神器

Python的运行速度快吗?虽说不同场景不同定论, 但整体而言

, 它没有C、Java快。这也导致Python凭借可读性、简单易

上手、良好的生态系统横行AI领域时,一提到速度,就成为众

多开发者头疼的问题。

为了解决这一难题,麻省理工学院的计算机科学家出手了,他

们共同研发了一种名为Codon的Python编译器, 可以将

Python代码转化为本地机器代码, 而不会对运行时的性能产生

影响。

当前, Codon已经在Git Hub上开源:https:

//github.com/exaloop/codon, 斩获6300个Star。

1、Codon与C/C++性能相当

"在单线程上, 比Python的典型速度提高了10-100倍或更多,

"Codon repo写道, "Codon的性能通常与C/C++的性能相当

(有时甚至更好)。"

codon

与Python不同的是, Codon支持本地多线程, 这可以使速度

提高许多倍。

Codon最初是作为一个在Python中创建高性能特定领域语言

(DSL, domain-specific language) 的框架而开发的。DSL

是专注于特定目的的语言, 而不是像Python或C这样的通用

编程语言。

据官方Git Hub repo透露, Codon源于Seq项目, 后者是一个

用于生物信息学和遗传学的DSL, 现如今它已经成长为一个与

Python 3基本兼容的语言编译器。

近期, 外媒The Register通过该工具的研究团队内部最新分享

了一个关于Codon的论文。

这篇论文指出, "与其他面向性能的Python实现(如PyPy或

Numba) 不同, Codon是作为一个独立的系统从头开始构建的

, 它可以提前编译为静态可执行文件, 并且不与现有的Python

运行时(如CPython或RPython) 绑定执行。因此, Codon

可以实现更好的性能,并克服运行时的特定问题,如全局解释

器锁"。

2、测试

那么Codon是否真的如说的那样快?在Codon论坛上, 一位

开发者进行了测试:

CPython 3.11

PyPy 7.3.9

Codon compiled

Codon with python interpreter

最终发现, 一个简单的Codon编译的斐波那契脚本比CPython

版本快70多倍。

据Codon官方文档显示, 虽然Codon的语法和语义与Python

的几乎相同,但还是有一些值得一提的区别,如数据类型方面

整数。Codon的int是一个64位有符号的整数, 而Python

的(在版本3之后) 可以是任意大的。然而Codon通过Int[N]

支持更大的整数,其中N是位宽。

字符串。Codon目前使用ASCII字符串, 与Python的

unicode字符串不同。

字典。Codon的字典类型不保留插入顺序, 与Python 3.6的

不同。

此外, Codon和Python在类型检查、数值运算、模块等维度

还有些许的不同, 更详细的内容可参考:https:

//docs.exaloop.io/codon/general/differences据悉, Codon

已经被商业化地应用在金融和生物信息学、深度学习等领域。



温馨提示:答案为网友推荐,仅供参考
相似回答