首页 > 解决方案 > 最大化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 PlusSabrent Rocket

标签: pythonnumpyparallel-processing

解决方案


推荐阅读