我正在从一个70GB的memmap数组中只读取~300MB的数据。在学习这个答案时,我了解到memmap实际上并不使用物理内存,因此我认为应该将所需的数组复制到物理内存中以提高性能。
然而,当我使用np.copy()复制一个memmap并使用np.info()查看复制后的数组时,类仍然是memmap。尽管如此,当使用复制后的数组时,我看到更多的内存使用和性能改进。
复制后的memmap是否使用物理内存?还是其他事情正在幕后发生?是不是看起来像我正在使用复制后的数组的物理内存,我的电脑总是欺骗我?
然而,当我使用np.copy()复制一个memmap并使用np.info()查看复制后的数组时,类仍然是memmap。尽管如此,当使用复制后的数组时,我看到更多的内存使用和性能改进。
复制后的memmap是否使用物理内存?还是其他事情正在幕后发生?是不是看起来像我正在使用复制后的数组的物理内存,我的电脑总是欺骗我?
numpy.memmap
使用了mmap
,所以这个问题仍然很相关。 - Robert Kern