我正在大量使用 pytables 和 HDF5 数据,并且我对节点的属性(您通过 pytables 'node._v_attrs' 属性访问的属性)有疑问。
假设我设置了一个 hdf5 节点的这样一个属性。我一遍又一遍地这样做,设置一个特定的属性
(1) 始终为相同的值(因此总体上存储在 hdf5file 中的值不会发生质的变化)
(2) 总是具有不同的值
这些操作在速度和内存方面如何?我的意思是以下,设置属性真的意味着删除hdf5文件中的属性并添加一个与以前相同名称的新属性吗?如果是这样,这是否意味着每次我重置现有属性时,hdf5 文件的大小都会略微增加并保持缓慢增长,直到我的硬盘已满?
如果这是真的,在我重置是否有案例(1)之前检查是否更有益[我根本不应该存储,而是将数据与写入磁盘上的属性进行比较]并且只有在我遇到案例(2)时才重新分配[即hdf5file中的属性值不是我要写入hdf5文件的那个]。
非常感谢,最好的问候,罗伯特