私の最初のアプリケーションのプロトタイプでは、ハードディスクから約400,000個のファイル(各4KBファイル、約合計1.5 GBのデータ)を順番に読み取り、各ファイルから読み取ったデータに対して何らかの操作を行い、結果をRAMに保存する必要があります。このメカニズムにより、最初にファイルのI / Oにアクセスし、次にCPUを使用して操作し、別のファイルを探し続けていましたが、プロセスが非常に遅くなりました。
回避策として、最初にすべてのファイルを読み取り、すべてのファイルデータをRAMに保存してから、操作(CPUを使用)を実行します。大幅な改善が見られました。
しかし、開発の第2フェーズでは、20 GBのデータを読み取る必要があり、RAMに保存できなくなりました。また、CPU使用率を伴う単一読み取り操作は非常に時間のかかる操作です。
誰かがこの問題を回避するためのいくつかの方法を提案できますか?
このアプリケーションは、VisualStudioコンパイラを使用してCのWindowsで開発しています。