NumPy读/写文件性能(特别是ndarray.tofile)

时间:2018-05-28 07:23:14

标签: python python-3.x performance numpy

我决定比较NumPy的ndarray.tofile与标准f.write的效果,我对结果似乎感到惊讶。为什么tofile比正常文件写入慢30倍? tofile在大型数据集上的效果是否优于f.write

WRITE:

ndarray.tofile(档案):10.668秒

timeit.timeit("a.tofile(f)", "import numpy as np; dt=np.dtype('B'); f=open('test.x','wb'); a=np.array(range(100),dt)")

写| file.write(ndarray.tobytes()):0.316秒

timeit.timeit("f.write(a.tobytes())", "import numpy as np; dt=np.dtype('B'); f=open('test.x','wb'); a=np.array(range(100),dt)")


READ:

np.array(list(f.read()),dt):11.544秒

timeit.timeit("a=np.array(list(f.read()),dt)", "import numpy as np; dt=np.dtype('B'); f=open('test.x','rb');")

np.fromfile(f,dt):11.544秒

timeit.timeit("a=np.fromfile(f,dt)", "import numpy as np; dt=np.dtype('B'); f=open('test.x','rb');")

0 个答案:

没有答案