Windows Formsアプリケーションを最適化するための資料(1)
Optimizing Your Application
How To Build A Pig Of An Applicationが面白い*1。
- 特にスレッドプールを使わずにたくさんスレッドを使う
- たくさんの配列を割り当てて、ガベージコレクタにそれらをクリーンアップさせる
- 関数呼び出しの引数に値をたくさん持った構造体を使う
- 出来る限り多くの例外をスローする
- ハッシュテーブルの代わりにデータベースを使う、など
これは反面教師ということで、全部逆に取るべきなんでしょうね。
三つ目が怪しいですが、関数呼び出しの引数だと構造体は値がコピーされるから、
クラスの利用を検討した方がいいよ、という意味でしょう。多分あってるはず。
意味を逆にすると、こんな感じでしょうか。
- スレッドは出来る限り少なくし、可能であればスレッドプールの利用を検討する
- 配列の割り当ては出来る限り少なくし、ガベージコレクタによる回収を避ける
- 関数呼び出しの引数には値をたくさん持つ構造体は使わない
- 出来る限り例外がスローされないようにする
- データベースの代わりにハッシュテーブルを使う
統括として以下のように書いてあった。
*1:豚のようにメモリを喰らうアプリの作り方かな?