1

如果我有一个 32^3 的 64 位整数数组,但它只包含十几个不同的值,你能告诉 HDF5 使用“内部映射”来节省内存和/或磁盘空间吗?我的意思是使用 64 位整数可以正常访问该数组,但每个值将在内部作为字节(?)索引存储到 64 位整数表中,可能节省大约 7/8 的内存和/或磁盘空间。如果这是可能的,它实际上是节省内存、磁盘空间还是两者兼而有之?

4

1 回答 1

1

我不相信 HDF5 开箱即用地提供了这个功能,但是没有理由你不能实现例程来将数据写入 HDF5 文件并以你想要的方式再次读取它。我想您可以将查找表和数组写入不同的数据集中。

有可能,但我没有任何证据表明,HDF 的压缩工具可以充分压缩您的整数数据集,从而节省大量可用空间。

再说一次,对于我使用的 HDF5 文件(10s 的 GB),我不会费心去尝试设计自己的编码方案来节省如此适度的空间,因为 64 位数字的 32768 元素数组可能能够省去. 当然,您可以将 2097152 位的数据集转换为 131072 位之一,但这些天磁盘空间(甚至 RAM)并没有那么紧张。

我开始形成一种印象,您可能正在尝试在智能手机上使用 HDF5 :-)

于 2012-02-10T14:28:49.530 回答