Python Dask数据帧vs numpy.memmap性能

Python Dask数据帧vs numpy.memmap性能,python,numpy,dask,Python,Numpy,Dask,我开发了一个模型,它使用了几个大的三维数据集(1e7、10、1e5),并对这些数据集的切片进行了数百万次读取(和数千次写入)调用。到目前为止,我找到的进行这些调用的最佳工具是numpy.memmap,它允许在RAM中保存最少的数据,并允许直接在硬盘上进行干净的索引和非常快速的数据调用 numpy.memmmap的缺点似乎是性能相当参差不齐——读取数组片段的时间在调用之间可能相差2个数量级。此外,我正在使用Dask并行化脚本中的许多模型函数 Dask数据帧对大型数据集进行数百万次调用的性能如何?将

我开发了一个模型,它使用了几个大的三维数据集(1e7、10、1e5),并对这些数据集的切片进行了数百万次读取(和数千次写入)调用。到目前为止,我找到的进行这些调用的最佳工具是numpy.memmap,它允许在RAM中保存最少的数据,并允许直接在硬盘上进行干净的索引和非常快速的数据调用

numpy.memmmap的缺点似乎是性能相当参差不齐——读取数组片段的时间在调用之间可能相差2个数量级。此外,我正在使用Dask并行化脚本中的许多模型函数


Dask数据帧对大型数据集进行数百万次调用的性能如何?将memmaps替换为数据帧会大大增加处理时间吗?

您需要使用Dask数组,而不是Dask数据帧。性能通常与Numpy相同,因为Numpy进行实际计算

优化可以根据用例加快计算速度

调度程序的开销会降低性能。这仅适用于将数据拆分为多个分区的情况,通常可以忽略