python - 为什么 numpy 本身就是 'slow'?

标签 python performance numpy scientific-computing

鉴于 thread here

看来 numpy 并不是超快速计算的最理想选择。有谁知道在使用 numpy 进行数值计算时我们必须注意哪些开销?

最佳答案

好吧,取决于你想做什么。例如,XOR 与对数值线性代数感兴趣的人几乎无关(numpy 非常快,因为它使用了优化的 BLAS/LAPACK 库)。

一般来说,从 numpy 获得良好性能背后的重要思想是一次分摊解释器在许多元素上的成本。换句话说,将循环从 python 代码(慢)移动到 numpy/BLAS/LAPACK/etc 中某处的 C/Fortran 循环中。内部结构(快速)。如果您在该操作(称为矢量化)中成功,性能通常会非常好。

当然,您显然可以通过转储 python 解释器并改用 C++ 来获得更好的性能。这种方法是否真的成功取决于您在使用 C++ 与 numpy 进行高性能编程方面的水平,以及您尝试执行的具体操作。

关于python - 为什么 numpy 本身就是 'slow'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2731157/

相关文章:

python - 如何在Shiny中通过R运行Python文件中的特定函数?

python - ipywidgets 使用复选框来显示或隐藏其他小部件

performance - 嵌套循环的大 O 运行时间?

python-3.x - Tensorflow 2 对象检测 API : Numpy Version Errors

python - 我如何通过 numpy 从大数组中搜索数组

python - 如何计算联合分布的熵?

exec 的 Python 变量作用域?

xml - 在 Perl 中从 XML 文件中提取一些元素值的最快方法是什么?

c - 如何快速读取和解析带有数字的文本文件(在 C 中)?

python - Numpy 重新排列列和堆栈的排序