对于某些特定的、尤其是针对数组的计算场景,Numba 可以显著加快代码的运行速度。在使用时,我们有时候需要调整一下原始代码,而有时候却又不需要做任何改动。当它真正起到作用时,效果将会非常明显。...在本篇文章中,我们会谈及以下几方面:
为什么 有时候单独使用 Numpy 是不够的
Numba 的基础使用方式
Numba 是如何在很高的层次上来对你的代码运行造成影响的
Numpy ”爱莫能助“的时刻...假设你想要将一个非常大的数组转变为按递增顺序排序:很好理解,就是将元素按值的大小升序排列,如:
[1, 2, 1, 3, 3, 5, 4, 6] → [1, 2, 2, 3, 3, 5, 5, 6]...对一个含有一千万个元素的 Numpy 数组使用上面的函数进行转换,在我的电脑上需要运行 2.5 秒。那么,还可以优化得更快吗?...例如,当输入是 u64 数组和浮点型数组时,分别得到的编译结果是不一样的。
Numba 还可以对非 CPU 的计算场景生效:比如你可以 在 GPU 上运行代码[3]。