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