小编set*_*erg的帖子

HDF5 数据集的数量限制

使用 h5py 创建一个包含许多数据集的 hdf5 文件,在 ca 之后我遇到了大量的速度下降。2,88 个 mio 数据集。这是什么原因?

我假设达到了数据集树结构的限制,因此必须重新排序树,这非常耗时。

这是一个简短的例子:

import h5py
import time

hdf5_file = h5py.File("C://TEMP//test.hdf5")

barrier = 1
start = time.clock()
for i in range(int(1e8)):
    hdf5_file.create_dataset(str(i), [])
    td = time.clock() - start
    if td > barrier:
        print("{}: {}".format(int(td), i))
        barrier = int(td) + 1

    if td > 600: # cancel after 600s
        break
Run Code Online (Sandbox Code Playgroud)

密钥创建的时间测量

编辑:

通过对数据集进行分组,可以避免这种限制:

import h5py
import time

max_n_keys = int(1e7)
max_n_group = int(1e5)

hdf5_file = h5py.File("C://TEMP//test.hdf5", "w")
group_key= str(max_n_group)
hdf5_file.create_group(group_key)

barrier=1
start = time.clock() …
Run Code Online (Sandbox Code Playgroud)

python hdf5

5
推荐指数
1
解决办法
1353
查看次数

标签 统计

hdf5 ×1

python ×1