比较numpy.save和h5py的速度时如何获得一致的结果?

时间:2014-03-12 20:28:11

标签: python arrays numpy profiling benchmarking

我正在尝试比较两个工具的速度效率,这两个工具可以将2 GB的numpy array磁盘保存到文件中:numpy.saveh5py.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数据对这些工具进行适当的基准测试?

0 个答案:

没有答案