私は、サイズが 2k から 100k の範囲の約 9000 個のオブジェクト、合計で約 0.5 ギガの小さな .mat ファイルを多数格納する最善の方法を決定しようとしています。
典型的な使用例は、一度に少数 (たとえば 10 個) のファイルをディスクから取得するだけでよい場合です。
私が試したこと:
方法 1: 各ファイルを個別に保存すると、パフォーマンスの問題が発生します (保存時間が非常に遅くなり、その後しばらくの間システムが遅くなります)。Windows 7 では処理が困難なため、フォルダー内のファイルが処理されない可能性があります (そして、私の SSD は苦労していると思います)。それも)。ただし、最終結果は問題ありません。必要なものを非常に迅速にロードできます。これは「-v6」保存を使用しています。
方法 2: すべてのファイルを 1 つの .mat ファイルに保存してから、必要な変数だけを読み込むと、アクセスが非常に遅くなります (読み込みには、ファイル全体を読み込むのにかかる時間の約 4 分の 3 の時間がかかります。保存の順序)。これも「-v6」保存を使用しています。
ファイルを多くのフォルダーに分割できることはわかっていますが、それは非常に厄介なハックのように思えます (そして、SSD が多くの小さなファイルを書き込むのを嫌うのは修正されません)。より良い方法はありますか?
編集: オブジェクトは、主に double データの数値行列とそれに付随する uint32 識別子のベクトル、および多数の小さな識別プロパティ (char および数値) で構成されます。