【发布时间】:2012-09-17 13:41:09
【问题描述】:
我发现写入和读取本机 mat 文件格式会变得非常非常慢,因为数据结构的大小约为 1G。此外,我们还有其他非 matlab 软件应该能够读取和写入这些文件。所以我想找到一种替代格式来序列化matlab数据结构。理想情况下,这种格式会...
- 能够将任意 matlab 结构表示为文件。
- 的 I/O 比 mat 文件快。
- 具有适用于其他语言(如 Java、Python 和 C++)的 I/O 库。
【问题讨论】:
-
第二点,我猜 mat 文件已经针对 I/O 速度进行了优化。例如,它们被压缩以最小化 I/O。对于您的第三点,您可以使用
-ascii格式保存,以使其可以被任何其他程序读取,但它会更慢。 -
当你说“任意matlab结构”时,这些东西有多复杂?那会影响速度。正如 Oli 所说,MAT 文件是经过压缩的,但压缩是在每个 mxarray 内部完成的,而不是整个文件,因此它实际上会降低复杂数据结构的 I/O 速度。
-
@Andrew 我们有结构数组,其中包含双精度数组。我们有带有双精度矩阵的结构,这些结构也有不同大小的元胞数组。我还应该提到这些文件大致有两种用例。一种是将它们加载到单个工作站上,以评估算法和用于科学目的。另一个用例只是将批量数据从超级计算机移回最终存储数据的位置。
标签: matlab