gpt4 book ai didi

c - HDF gzip 压缩与 ASCII gzip 压缩

转载 作者:太空宇宙 更新时间:2023-11-04 04:36:35 24 4
gpt4 key购买 nike

我有一个包含 1100x1600 个数据点的二维矩阵。最初,我将它存储在一个 ascii 文件中,我使用命令对其进行了 tar 压缩

tar -cvzf ascii_file.tar.gz ascii_file

现在,我想切换到 hdf5 文件,但它们太大了,至少在我使用它们的方式上...首先,我使用 c 程序将数组写入 hdf5 文件

H5Fcreate, H5Screate_simple, H5Dcreate, H5Dwrite

按照这个顺序。 hdf文件中的数据没有压缩,而且比较大,所以我用命令压缩了

h5repack --filter=GZIP=9 hdf5_file hdf5_file.gzipped

不幸的是,这个压缩后的 hdf 文件仍然比压缩后的 ascii 文件大 5 倍,见下表:

file               size
--------------------------
ascii_file 5721600
ascii_file.tar.gz 287408
hdf5_file 7042144
hdf5_file.gzipped 1117033

现在我的问题是:为什么 gzip 后的 ascii 文件这么小,有没有办法让 hdf 文件更小?

谢谢。

最佳答案

嗯,看了之后Mark Adler's评论,我意识到这个问题有点愚蠢:在 ascii 的情况下,值在一定数量的数字后被截断,而在 hdf 的情况下,“真实”值(“真实”=数据类型的任何精度我是使用)被存储。

但是,有一种方法可以进一步减小我的 hdf 文件的大小:通过使用选项应用 shuffle 过滤器

--filter=SHUF

关于c - HDF gzip 压缩与 ASCII gzip 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com