NumPy 数学函数比 Python 更快吗?

2023-12-13

我有一个由基本数学函数(abs、cosh、sinh、exp...)组合定义的函数。

我想知道使用它是否会产生影响(速度),例如,numpy.abs()代替abs()?


以下是计时结果:

lebigot@weinberg ~ % python -m timeit 'abs(3.15)' 
10000000 loops, best of 3: 0.146 usec per loop

lebigot@weinberg ~ % python -m timeit -s 'from numpy import abs as nabs' 'nabs(3.15)'
100000 loops, best of 3: 3.92 usec per loop

numpy.abs()慢于abs()因为它还处理 Numpy 数组:它包含提供这种灵活性的附加代码。

然而,Numpyis在数组上快速:

lebigot@weinberg ~ % python -m timeit -s 'a = [3.15]*1000' '[abs(x) for x in a]'
10000 loops, best of 3: 186 usec per loop

lebigot@weinberg ~ % python -m timeit -s 'import numpy; a = numpy.empty(1000); a.fill(3.15)' 'numpy.abs(a)'
100000 loops, best of 3: 6.47 usec per loop

(PS: '[abs(x) for x in a]'Python 2.7 中比更好的慢map(abs, a),快了大约 30%,但仍然比 NumPy 慢得多。)

Thus, numpy.abs()1000 个元素并不比 1 个浮点数花费更多时间!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NumPy 数学函数比 Python 更快吗? 的相关文章

随机推荐

  • NHibernate 一对多关系的聚合查询

    我有下一个实体 class Topic public virtual int Id get private set public virtual ICollection
  • Elasticsearch(6.5) 高级 Java Rest 客户端按名称删除索引不起作用

    我可以通过传递索引名称 类型和 id 来删除文档 如下所示 DeleteRequest deleteRequest new DeleteRequest data getIndexName data getType data getUniqu
  • 自动更正Python中的缩进错误

    我正在尝试修复 Python 脚本中的一些缩进错误 有没有办法在线自动纠正错误或使用其他实用程序 我希望这个错误非常熟悉 但想再次避免这种情况 有编辑器可以帮助解决这些问题吗 IndentationError 需要一个缩进块 一般来说这是不
  • 如何在 iPad 编码中将分割视图添加到基于视图的应用程序

    我使用基于视图的应用程序启动了我的 iPad 应用程序 在前两个视图中 我添加了表格视图 现在作为第三个视图 我想将 splitView 添加到视图中 为此 我将 splitview 控制器添加到我的 xib 文件中 我该如何编写编程部分
  • 如何使 UINavigationBar 不下推视图?

    我有多个UIViewControllers in a UINavigationController 有时我会显示酒吧 有时则不会 如何在不按下视图的情况下显示导航栏 导航栏将始终向下推视图 除非将其设置为半透明
  • 缩短 MongoDB 属性名称值得吗?

    In mongodb 文档作者提到缩短属性名称是个好主意 使用较短的字段名称 以及来自 How to Node 的旧博客文章 截至 2022 年 4 月编辑已离线 经常报告的 mongoDB 问题是 磁盘上数据的大小 每条记录都存储所有字段
  • 获取Singleton类实例多线程

    要获取具有单例模式的类的实例 我想使用以下函数 这是一个草图 interface uses SyncObjs type TMCriticalSection class TCriticalSection private Dummy array
  • Angular 2 observable-subscribe 显示未定义

    我面临着与 SO 帖子中相同的挑战here尽管在我的服务中我有数据 但我的 component ts 中的订阅方法未定义 请参阅下面的代码 p 组件 ts private getPayItems void console log In ge
  • Git:“git 克隆”到现有文件夹的最佳实践是什么?

    我有该项目的工作副本 没有任何源代码控制元数据 现在 我想在该文件夹中执行相当于 git clone 的操作 并保留本地更改 git clone 不允许我克隆到现有文件夹中 这里的最佳实践是什么 这可以通过克隆到新目录 然后移动 git目录
  • 更改会话中的 tempdir() (更新 R_TempDir)

    我正在寻找一种方法来改变tempdir R 会话开始后的位置 我认为需要更新C级全局变量R TempDir 从 R 内部完成此操作的好方法是什么 更新 西蒙 厄本内克斯unix 工具包有一个函数可以完成这个任务 代码如下 以供将来参考 se
  • Spring Boot 提供被安全阻止的静态内容

    我启动了 Spring Boot Angular 应用程序 现在我想将整个应用程序部署为 jar 所以我创建了 Maven 配置 其中构建了 Angular 应用程序 然后将其复制到 target classes resources 但每个
  • 最小成本的动态规划问题[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个手机信号塔问题 有n个城镇 我们想在一些城镇建造手机信号塔 每个蜂窝塔都可以覆盖自己及其邻居 每个城镇都有建造手机信号塔的费用 我们想找出建造覆盖所有城镇的手机信号塔的最低成
  • 如何在 Hyperledger Composer 查询中显示交易输入数据

    我正在尝试构建一个历史查询 它允许我查看交易 及其原始输入 我正在尝试基于这个问题的想法https github com hyperledger composer issues 1850 但这已在 Composer Playground 中
  • A a() 是什么意思? [复制]

    这个问题在这里已经有答案了 考虑这段代码 include
  • 角度材质对话框显示两次

    我使用 Leaflet 绘制地图 并尝试使用 Angular Material 来显示一些模态 但遇到了问题 模态 ModalComponent 应该在用户单击地图时打开 我为此添加了单击事件 请参阅MapComponent 在这个事件中
  • 将py文件转换为exe,找不到现有的PyQt5插件目录

    我对 phyton 很陌生 刚刚完成了我的第一个应用程序 现在 我正在尝试将我的 py 文件编译为似乎不起作用的 exe 购买 我到处寻找解决我问题的方法 但似乎找不到 当我运行此命令时 pyinstaller gui py 显示此错误 4
  • MPMediaItem - MPMediaItemArtwork 的 NSCoding 问题

    因此 MPMediaItem 符合 NSCoding 但它包含一个指向 MPMediaItemArtwork 的指针 该指针不符合 NSCoding 因此 如果我尝试存档 MPMediaItem 如果该项目中有一些艺术品 则它将无法取消存档
  • 如何在C#中调用C++ DLL

    我用 dev C 编写了一个 DLL 该DLL的名称是 DllMain dll 它包含两个函数 HelloWorld and ShowMe 头文件如下所示 DLLIMPORT void HelloWorld DLLIMPORT void S
  • Javascript 对象打印为对象对象

    我对节点和 mongo db 都非常陌生 我正在创建从节点到 Mongo 的连接并尝试 CRUD 操作 我的操作在 Operations js 中定义 并且我从索引调用函数 我面临的问题是当我打印回调参数时 coll find toarra
  • NumPy 数学函数比 Python 更快吗?

    我有一个由基本数学函数 abs cosh sinh exp 组合定义的函数 我想知道使用它是否会产生影响 速度 例如 numpy abs 代替abs 以下是计时结果 lebigot weinberg python m timeit abs