首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矢量化算法

矢量化算法
EN

Stack Overflow用户
提问于 2018-03-13 07:57:47
回答 1查看 1.4K关注 0票数 0

在用Python 3编写的工程中的数值方法中,作者: Jaan Kiusalaas,第25页,作者用两种方式解决了求和表达式:

第一种方法:使用循环。

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

作者指出,“矢量化算法执行速度快得多,但使用的内存更多。”有谁能解释一下向量化算法是什么意思?为什么矢量化算法执行得更快,却使用更多内存?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-13 08:44:07

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

  • 向量化代码速度更快,因为多个操作是并行执行的,而在循环版本中,这些操作是顺序执行的,依次执行。
  • 向量化代码使用更多的内存,因为所有操作的数据--并行执行的--必须加载到内存中。相反,对于循环版本,只有必须加载一个操作(目前正在执行)的数据。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49250963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档