System.IO.MemoryMappedFiles (追記)

まっぷど☆まっぷど

というわけで、VS2010の評価のお題はメモリマップドファイル。

System.IO.MemoryMappedFilesは.NET4でマネージド実装されたものらしいです。

2GBほどのファイルを10MBごとのViewページングしつつシーケンシャルに読み込んで計測。

MemoryMappedViewAccessor.ReadArray(Of T): 00:01:12.7599811
MemoryMappedViewStream.Read: 00:00:34.0092414
BinaryReader.Read: 00:00:33.4706349

(一番下はふつうのBinaryReader)

 

メモリマップドファイル・・あんまり速くはないですね・・。

 

(追記)

定義した型(分足データとかね)を楽にジェネリックReadArrayできるのがちょっと魅力。でも遅い。

BinaryReaderはプリミティブ型しか使えない。ReadInt32とかして材料を取得してから地味に組み立てるしかない。でも速い。

あとはキャッシュの効き方が気になる。BinaryReaderで読んで自前でメモリにキャッシュするのよりも、MemoryMappedViewAccessorのほうが効率的に機能するのであれば、自前キャッシュを無くすこともできるかもしれない。

ちょっとくたびれたので、少し休みをとりつつ考えよう。

トラックバック(0)

トラックバックURL: http://kabu-drive.com/mt/mt-tb.cgi/1482

コメントする



Twitter

最近のコメント

メッセンジャー







モバイル