私は 100 万個のテキスト ファイル (内容は約 1kB) を持っており、Windows 7 の C++ プログラム内でランダムなファイル (FindFirstFile) のハンドルを繰り返し取得しています。変更されていないため、この手順を RAM を使用してさらに高速に実行したいと考えています (つまり、事前ロード後にハード ドライブを読み取らない)。
100 万個のファイルすべて (ReadFile、または同様に CreateFileMapping を使用) をプリロードできましたが、b+ ツリーを RAM に取得する方法がわかりません。新しいツリーを最初から構築する必要がない、これに対する簡単な解決策または API はありますか? もっと速い方法はありますか?
また、ディレクトリ ツリーを作成したくありません。すべてのファイルを 1 つのフォルダーに残し、可能であれば NTFS のツリー方式を利用したいだけです。「CreateDirectoryMapping」関数を探しています。(また、最初に使用した後に Windows が b+ ツリーを RAM に自動的にキャッシュする可能性はありますか?私はそうは思わないので、この質問のために意図的にキャッシュしたいのです。)