Windows CE (.NET) とか IoTとか

組込みWindows と IoTの話を扱います

ハイメモリでDLLを動作させる

最近LMEMDEBUGを使っていて、これをキーワードにしてMSDNを探したところ、以下の記事を偶然見つけました。

Kernel Memory Allocated for Use by the Networking Stack

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceddk5/html/wce50conKernelMemoryAllocatedForUseByNetworkingStack.asp

ここで言っているのは、ハイメモリのカーネル空間で動作するDLLをOEMInit時に設定することができ、これを行うことによりTLB Missを起こさないようにすることができる、ということです。

確かにネットワークはHeapを大量に使うので、TLB Missによるオーバーヘッドは無視できないものがあるのかも。

原理的にはネットワークモジュール以外でも使用可能なはず。

なんかすごいチューニング方法ですね。