python - 最大化numpy数组读取速度
问题描述
我的 3.4GB/s 额定 SSD 以 1.3GB/s 的峰值速度读取不同大小的 Numpy 阵列,仅为 38%。SSD 测试显示它以 3.4GB/s 的速度运行。我对以前的(现在已经死的)SSD有更多的运气。阵列大小为 4GB/8GB,应用程序允许更改大小。
问题memmap
在于它依赖于页面文件,并且在我的情况下压缩速度较慢。AFAIK Numpy 是单线程的;并行性可以解决吗?如果是这样,任何具有 API 端支持的库?
我看过joblib
但它缺乏任何明确numpy.load
的例子。我已经尝试multiprocessing
了一段时间,但没有走远,也找不到任何地方的例子。请注意,数组是 N-dim,其中N >= 4
和'float32'
or 'float16'
。
Win 10 x64、24GB RAM、Intel i7-7700HQ 4 核/8 线程、Samsung 970 EVO Plus或Sabrent Rocket。
解决方案
推荐阅读
- c - 从字符串指针 C 获取更新的值
- html - 如何将数据从 Node.js 服务器发送到 HTML 文档?
- svn - SVN - 使提交在历史中不可见
- asp.net - 无法打开数据库。用户“NT AUTHORITY\NETWORK SERVICE”登录失败
- html - 使用 xpath 提取类属性
- r - 用连续数字替换矩阵的一列
- c - 如何使函数对象右侧的两个函数相加?
- java - 当我从命令行运行 Main 时,Java 在同一个包中找不到类
- python - Python将列表转换为列表列表
- javascript - 表单输入字段必填属性在 Google 应用脚本 HTML Web 应用中不起作用