Codon高性能 Python 编译器
Codon 是一款高性能 Python 编译器,可将 Python 代码编译为本机机器代码,而无需任何运行时开销。
在单线程上,Python 的典型加速大约为 10-100 倍或更多,性能通常与 C/C++ 的性能相当。但与 Python 不同,Codon 支持本机多线程,可以使速度提高很多倍。Codon 可通过插件基础结构进行扩展,它允许用户合并新的库、编译器优化甚至关键字。
Codon 框架是完全模块化和可扩展的,允许无缝集成新模块、编译器优化、领域特定语言等,并积极为生物信息学和量化金融等多个领域开发新的 Codon 扩展。
安装
每个版本都提供了适用于 Linux (x86_64) 和 macOS(x86_64 和 arm64)的预构建二进制文件。下载并安装:
/bin/bash -c "$(curl -fsSL https://exaloop.io/install.sh)"
例子
Codon 是一种与 Python 兼容的语言,许多 Python 程序只要稍作修改就可以工作:
def fib(n):
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
fib(1000)
编译器codon
有许多选项和模式:
# compile and run the program
codon run fib.py
# 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
compile and run the program with optimizations enabled
codon run -release fib.py
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
compile to executable with optimizations enabled
codon build -release -exe fib.py ./fib
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
compile to LLVM IR file with optimizations enabled
codon build -release -llvm fib.py
outputs file fib.ll
有关更多选项和示例,请参阅文档。
注意事项
虽然 Codon 几乎支持 Python 的所有语法,但它并不是一个简单的替代品,大型代码库可能需要修改才能通过 Codon 编译器运行。例如,一些 Python 的模块还没有在 Codon 中实现,一些 Python 的动态特性是不允许的。
Codon 编译器会生成详细的错误消息,以帮助识别和解决任何的不兼容问题。Codon 支持无缝的 Python 互操作性,以处理需要特定 Python 库或动态性的情况。
评论
TypeRunner高性能 TypeScript 编译器
TypeRunner是一个高性能TypeScript编译器。Goals解析器类型检查(作为CLI和库)语言服务器交互式类型调试用其他语言输入信息(可选)转译为JavaScript(可选)JavaScr
TypeRunner高性能 TypeScript 编译器
0
JSS-cssinjs高性能 JS to CSS 编译器
JSS是一种比CSS更强大的抽象,它使用JavaScript以声明和可维护的方式描述样式。它是一个高性能的JStoCSS编译器,可在运行时和服务器端运行。它是低级别并且与框架无关的,大约有6KB大小,
JSS-cssinjs高性能 JS to CSS 编译器
0
LDC高性能 D 语言编译器
LDC是一个高性能的D语言编译器,依赖DMD作为语言前端,后端使用LLVM架构生成代码,在各项测试中与 C和C++性能持平,这也使得dlang的计算性能高于比较新的rust和golang。LDC支持非
LDC高性能 D 语言编译器
0
Cinder Python高性能 Python 分支
Cinder 是 Meta 基于 CPython 3.10 构建的内部自用高性能分支。Cinder
Cinder Python高性能 Python 分支
0
Cinder Python高性能 Python 分支
Cinder是Meta基于CPython3.10构建的内部自用高性能分支。Cinder针对性能进行了许多优化,包括JIT、延迟加载模块、预编译静态模块、字节码内联缓存、协程的即时评估,以及实验性字节码
Cinder Python高性能 Python 分支
0
CannoliRust 编写的 Python 编译器
Cannoli是一个Rust编写的Python(Python3.6.5)编译器,旨在评估对性能有负面影响的Python语言特性。Cannoli使用Rust编写,并将Python编译为Rust,选择Ru
CannoliRust 编写的 Python 编译器
0