朱莉娅:h5文件的大小



我在h5文件中存储了一个10000*5000的矩阵,其值为1和-1。

h5open("/my path/data.h5", "w") do file
    write(file, "a", a)  # alternatively, say "@write file A"

它花费了400 MB。这合理吗?

这正是您所期望的,前提是这些是要存储的Float64数字。每个Float64数字占用64位=8个字节。10000*5000*8=4亿字节=400 MB。

如果您想减少大小,还可以考虑将值生成并存储为另一种类型,如Int8(占用Float64的1/8空间)。请记住,如果您将矩阵中的任何内容与另一种类型的对象相加、相乘等,则Julia将自动转换类型以匹配。如果您多次执行此类操作,从而导致多次转换,则此类转换将导致巨大的性能损失。但是,您仍然可以将其原样存储,然后在加载后重新转换。

相关内容

  • 没有找到相关文章

最新更新