详细内容或原文请订阅后点击阅览
使用Cython Library
C语言速度的四步计划最重要,最重要的是,使用Cython库将Python代码运行的速度更快至80倍,这首先出现在数据科学方面。
来源:走向数据科学出色的语言,用于快速原型制作和代码开发,但是我经常听到人们对使用它的说法的一件事是,执行速度很慢。对于数据科学家和ML工程师来说,这是一个特殊的痛苦点,因为他们经常执行计算密集型操作,例如矩阵乘法,梯度下降计算或图像处理。
随着时间的流逝,Python通过向语言引入新功能(例如多线程或重写现有功能以提高性能以提高性能)来内部发展以解决其中一些问题。但是,Python对全球口译员锁(GIL)的使用经常像这样陷入困境。
也已经写了许多外部库来弥合python和汇编语言(例如Java)之间的这种感知性能差距。也许其中最常用和最著名的是Numpy库。 Numpy以C语言实现,是从头开始设计的,以支持多个CPU内核以及超快速的数值和数组处理。
numpy有Numpy的替代方案,在最近的TDS文章中,我介绍了NumExpr库,在许多用例中,该库甚至可以超越Numpy。如果您有兴趣了解更多信息,我将在本文末尾提供指向该故事的链接。
numexpr另一个非常有效的外部库是numba。 Numba利用Python的Just-time(JIT)编译器,该编译器在运行时将Python和Numpy代码的子集转换为快速机器代码。它旨在通过利用LLVM(低级虚拟机)编译器基础架构来加速数值和科学计算任务。
numba Cython什么是Cython?
我将通过将代码转换为使用Cython,检查三个用例并提供转换您现有的Python代码所需的四个步骤,以及每次运行的比较时间。
设置开发环境
,类型“ Jupyter Notebook” “ jupyter笔记本”示例1 - 加速循环
%load_ext Cython,