我正在尝试确定存储大量小型 .mat 文件的最佳方式,大约 9000 个大小从 2k 到 100k 的对象,总共大约半个演出。
典型的用例是我一次只需要从磁盘中提取少量(比如 10 个)文件。
我试过的:
方法 1:如果我单独保存每个文件,我会遇到性能问题(保存时间非常慢并且系统在一段时间后运行缓慢),因为 Windows 7 难以处理,因此文件夹中的文件可能会出现(而且我认为我的 SSD 过得不好)也是)。但是,最终结果很好,我可以非常快速地加载我需要的内容。这是使用“-v6”保存。
方法 2:如果我将所有文件保存在一个 .mat 文件中,然后只加载我需要的变量,则访问速度非常慢(加载时间大约是加载整个文件所需时间的四分之三,变化很小,具体取决于保存的顺序)。这也是使用“-v6”保存。
我知道我可以将文件分成许多文件夹,但这似乎是一个令人讨厌的黑客行为(并且不会解决 SSD 不喜欢写很多小文件的问题),有没有更好的方法?
编辑:这些对象主要由一个双精度数据的数字矩阵和一个伴随的 uint32 标识符向量,以及一堆小的识别属性(字符和数字)组成。