.NET 4.0 の新しいメモリ マップ ファイル機能を試した人がいるかどうか知りたいですか? OS と同じくらい古いものであることは知っていますが、.NET でのネイティブ処理は新しいものです。
誰かがこれをテストして、パフォーマンスについて何か言うことができましたか? バイナリファイルのランダムな部分へのアクセス時間、書き込み速度などに非常に興味があります。また、ネイティブの WinAPI MMF とのパフォーマンス比較もよいでしょう。
ありがとう!
.NET 4.0 の新しいメモリ マップ ファイル機能を試した人がいるかどうか知りたいですか? OS と同じくらい古いものであることは知っていますが、.NET でのネイティブ処理は新しいものです。
誰かがこれをテストして、パフォーマンスについて何か言うことができましたか? バイナリファイルのランダムな部分へのアクセス時間、書き込み速度などに非常に興味があります。また、ネイティブの WinAPI MMF とのパフォーマンス比較もよいでしょう。
ありがとう!
.NET 4.0 (新しいSystem.IO.MemoryMappedFiles
名前空間) のメモリ マップ ファイルは、単にメモリ マップ ファイル用の Win32 API をラップします。
つまり、可能な限り高速であることを意味します。これは、.NET アセンブリをメモリに読み込むために使用されるメカニズムと同じです。
実際のタイミング数値に関しては、これは 32 ビットと 64 ビット、メモリの量、ファイルの大きさ、アクセス パターン、および大部分は物理ディスク ハードウェアの種類によって異なります。
次の質問では、MemoryMapped ファイルと標準 IO のパフォーマンス テストを行いました。
私の目的には大きな欠点を見つけることができませんでした.メモリマップファイルのパフォーマンスは約4倍高速であり、質問では、これらのファイルの動作方法と考慮すべき点について興味深いヒントを見つけることができます.
私のテストでは、.NET 4.5 MMF のパフォーマンスは、ネイティブの WinAPI 呼び出しのパフォーマンスの約 40% でした。つまり、2 倍以上遅くなりました。