键值字符串的h5py数据集中的数据检索速度缓慢

时间:2020-04-24 20:42:09

标签: python hdf5 h5py

给出以下h5py文件root -> group1 -> million key,val pairs
检索任意数量的数据集(甚至1个)都需要非常长的时间(〜10秒),而且我想知道是否可以以不同的方式插入它们以控制该行为(我认为对于我的用例而言,缓存太大了,但是默认情况下大小为1MB)
行为如下:

script A

hdf5 = h5py.File(path_to_h5py, libver='latest',mode='a')
hdf5_dataet = hdf5.create_group(name_of_dataset)
for key, val in tqdm(dataset.items()):
    hdf5_dataet.create_dataset(json.dumps(key),data=json.dumps(val))

script B

f = h5py.File(path_to_h5py,'r')
data = f[name_of_dataset]
key_example = next(data.__iter__()) ---------> This takes 10 seconds

1 个答案:

答案 0 :(得分:1)

HDF5不像Python字典那样使用键/值对。数据结构更像NumPy数组。我不知道您最终要做什么。脚本B有一个简单得多的迭代器。请尝试以下操作:

Modal

在2020-04-25上添加了一个简单测试来检查I / O性能:

      <Modal
        onClick={event => event.stopPropagation()}
        onMouseDown={event => event.stopPropagation()}
        ...
相关问题