Binary Size, Partial Memory Mapped File, Just In Time Compile, Latency and Throughput

ちょっと締切りが錯綜してて長文書く時間がないので紹介だけ.

Vistaが重い」というと、そのGUIであるWindows Aeroの負荷が高いことが話題に上ることが多い。確かに、Aeroを利用するにはDirectX 9をサポートしたグラフィックスカードが必要であり、チップセット内蔵グラフィックスでは若干荷が重いようにも感じる。ところが、Aeroの仕様が発表されてから日時も経過したことでもあり、スタンドアロンのグラフィックスチップ(GPU)はもちろん、チップセット内蔵グラフィックスであっても最新の製品であれば、Aeroを十分動かすことができる。

むしろVistaが重い理由は、バイナリサイズが大きくなったことでも明らかな、ロードモジュールの肥大だろう。ロードモジュールが大きくなったということは、それだけHDDとメモリの帯域を必要とするということにほかならない。これがVistaが重い最大の理由であり、古いマシンやモバイルノートでの利用を厳しくしている原因だと思う。

なるほどそう来たか.暇な人はこの辺考えてみてください.

  • メモリを 2 倍使うごとにスループットまたはレイテンシが 2 倍改善するようなアルゴリズムがあるか?
  • ベンチマーク以外で,バイナリファイルに由来するデータ転送が HDD やメモリ帯域を有意に占有するような状況とはどのようなものか?
  • exe ファイルや dll のファイルサイズとパフォーマンスの間に相関はあるか? あるいはファイル数におきかえるとどうか?

注)「重い」状況が目の前で再現できるなら,プロファイラでハードウェアの状態を調べて,実行中のアルゴリズムと付き合わせれば,大抵の原因はちゃんと分かります.こういう妄想探偵ごっこは効率が悪いので普通はやりません.