码迷,mamicode.com
首页 > 其他好文 > 详细

1.1.1.4、NumPy为什么很快

时间:2020-02-05 18:23:26      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:符号   循环   color   adc   优点   style   cas   多维数组   tin   

为什么 NumPy 速度很快

矢量化

矢量化描述了代码中没有任何显示循环、索引等,其他优化使用预编译的 C 代码。

矢量化有许多优点,包括:

  • 矢量化代码更简洁,更易于阅读。
  • 更少的代码通常意味着更少的错误。
  • 代码更接近标准的数学符号(编写易用的数学结构代码更加容易)。
  • 矢量化会产生更多的 PythonIC 代码。如果没有矢量化,代码将充满低效和难以阅读的循环。

传播性

传播是用来描述操作隐式逐元素的术语。

在 NumPy 中所有的操作,包括算术、逻辑、位运算、函数等,都以这种隐式逐元素的方式进行表现。

在示例 4 中 ab 可以是相同形状的多维数组,或者是标量和数组,甚至可以是具有不同形状的两个数组,前提是较小的数组可以 “扩展” 为较大的数组

有关传播性更详细的规则,请参阅 numpy.doc.broadcasting

1.1.1.4、NumPy为什么很快

标签:符号   循环   color   adc   优点   style   cas   多维数组   tin   

原文地址:https://www.cnblogs.com/wdzn/p/12264605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!