但如果想要在不使用低级语言(如 CPython、Rust 等)实现扩展的前提下实现一个新的算法时,该如何做呢?
对于某些特定的、尤其是针对数组的计算场景,Numba 可以显著加快代码的运行速度。...在本篇文章中,我们会谈及以下几方面:
为什么 有时候单独使用 Numpy 是不够的
Numba 的基础使用方式
Numba 是如何在很高的层次上来对你的代码运行造成影响的
Numpy ”爱莫能助“的时刻...假设你想要将一个非常大的数组转变为按递增顺序排序:很好理解,就是将元素按值的大小升序排列,如:
[1, 2, 1, 3, 3, 5, 4, 6] → [1, 2, 2, 3, 3, 5, 5, 6]...但对于上面这个场景(python 中的循环),就会暴露出一个问题:我们会失去 Numpy 得天独厚的性能优势。...使用 Numba 提速
Numba 是一款为 python 打造的、专门针对 Numpy 数组循环计算场景的即时编译器。显然,这正是我们所需要的。