Vistaでメモリサイズ縮小
そろそろVistaも出てくるし、放置していたものの修正を兼ねて動作確認をしてみた。このアプリケーションはVisualStudo2003上でC#.Net(2.x)で書いたもので、スケジュールを読み込んでユーザのログオン時間を制御するようになっている。
ところがこれがXP SP2で動かすとタスクマネージャ上のメモリを26MB前後も食ってしまうので非常に困っていた。(左の画像では13MB程度だけれど26?30MB近くまで増えてから安定?する)実際にこのサイズを消費しているということではないようだが大き過ぎる。きいたところによると.Netアプリケーションはある意味で仮想ホスト上で動作しているようなものなので仕方ないとのこと。(自分で調べなきゃならないけど)
あきらめていたのだけれど、自分のPC環境をVista RC1にしたついでに試しに入れておいたVS2005 Expressでコンパイルしなおした。そしたらなんとタスクマネージャで表示されるメモリ表示が約1/4の6MB弱になってしまった!実際どこまでほんとなのか、Vistaになってタスクマネージャのメモリ計算方法が変わったのかわかりませんが、いやいやこれは驚いた。ソースもぜんぜんなおしてないし、VS2005にしたからというわけでものないのでVistaの.Net3.0環境で動いているってことが大切みたい。VistaになってCommon Language Runtimeがよりネイティブに動作するってことなのかなあ。
参考:WinFX から .NET Framework 3.0 への名前変更について

