矢量化算法

山姆

在 Numerical Methods in Engineering with Python 3,作者:Jaan Kiusalaas,第 25 页,作者通过两种方式求解求和表达式:

第一种方法:使用循环。

第二种方法:通过从 numpy 导入 arange 的矢量化版本。

作者指出“矢量化算法执行得更快,但使用更多内存。” 任何人都可以解释向量化算法的含义以及为什么向量化算法执行得更快,但使用更多内存?

谢尔盖·科列斯尼科夫

向量化”(简化)是重写循环的过程,这样它不是处理数组的单个元素 N 次,而是同时处理(比如说)数组的 4 个元素 N/4 次。[什么是“向量化”? ]

  • 向量化代码更快,因为多个操作并行执行。相比之下,在循环版本中,这些操作是依次执行的,一个接一个。

  • 矢量化代码使用更多内存,因为所有并行执行的操作的数据都必须加载到内存中。相反,对于循环版本,只需加载一个操作(当前正在执行)的数据

这是计算机科学中一种典型的权衡,称为时空权衡

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章