Pythran: Python->C++的转换编译器

Pythran是一个Python到C++转换工具,和Cython一样,它的目的也是提高Python代码的执行效率,但是它们在实现方法上有本质的不同。

Pythran的源代码:https://github.com/serge-sans-paille/pythran

Pythran图示:

Pythran: Python->C++的转换编译器

Python执行计算密集型的代码非常慢,和编译型语言C++相比,差了不止一个数量级。

本文以计算圆周率π为例,看看使用Pythran后,执行效率能提升多少。

计算π的Python代码(pi.py):

Pythran: Python->C++的转换编译器

大概用时6.8s。

计算π的C++代码(pi.cpp):

Pythran: Python->C++的转换编译器

大概用时0.13s。

使用Pythran

安装Pythran,我使用Ubuntu系统:

其它系统的安装参看Readme.。

创建要转为本地库的Python代码(fast_pi.py):

直接转为本地so库:

Pythran: Python->C++的转换编译器

在Python中使用fast_pi.so(test.py):

Pythran: Python->C++的转换编译器

大概用时0.15s。

总结

  • 纯Python计算π用时6.8s
  • 纯C++计算π用时0.13s
  • 使用Pythran把Python转为本地库计算π用时0.15s

Pythran的转换效率还是挺高的,和纯C++相差无己。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注