我正在尝试比较两个工具的速度效率,这两个工具可以将2 GB的numpy array
磁盘保存到文件中:numpy.save
和h5py.create_dataset
。
(注意:这只是第一个测试,我必须处理的真实案例是数千个大小在1到2 MB之间的numpy数组,即最后几GB)
以下是我用于执行基准测试的代码。问题是结果确实不一致:
import numpy as np
import h5py
import time
def writemem():
myarray = np.random.randint(100000,size=512*1024*1024) # 2 GB
t0 = time.time()
h5f = h5py.File('test.h5', 'w')
h5f.create_dataset('array2', data = myarray)
h5f.close()
print time.time() - t0
def writemem2():
myarray = np.random.randint(100000,size=512*1024*1024) # 2 GB
t0 = time.time()
f = open('test.bin', 'w')
np.save(f, myarray)
f.close()
print time.time() - t0
writemem() # 55s 38s 42s 38s
raw_input()
writemem2() # 46s 17s 22s 15s 22s
raw_input()
如何针对2 GB数据对这些工具进行适当的基准测试?