CeleronD 2.8GHzをIntel64で運用する

普段はものすごく周波数低くなっているらしく電源ファンすらも回っていないのですが、動画のエンコードとか始めるとものすごくうるさくなります。電源からCPUからファンが総動員されてるんだろうなぁ。
ということは、Intelは本気で「CPU使用時間のほとんどは時間当たり数%だから、ピーク性能だけ上げれば何とか」と、当時考えてたという事ですね。エンコーダーSSE3とか使って最適化しているらしいですが、当のSSE3も32bit float x4の積和算を数ステートでこなすような感じだしなー。非常に電気食いそうだ。


Intel64は64bitレジスタIA-32に比べて8本も追加されてるので局所変数レジスタ割り当てをコンパイル時にアグレッシブに行うとパフォーマンスは劇的に上がるはずです。なにせ、オペランドスタックはともかく局所変数フレームのライトバックがないってだけでかなりのバスへのアクセスは減りますし、キャッシュを引き当てたとしてもレジスタには速度的にかないませんから。
コンテクストスイッチ時のオーバーヘッドの大きさを考えても、1クオンタム当たりの命令数を考えれば2.8GHzだったらほとんど誤差の範囲。
少し命令に対するメモリ効率は悪くなりますが、32bitコードよりも速い……はずなんだけどなぁ。別に速くてもトランジスタのスイッチング増えれば電気は食うか。
それにしても、ここ数日暑いですね。


そうそう。
ファンが大稼働するのがNetBeansの起動時。Sunの64bitHotSpotVMはServer版しかないらしく、起動直後に盛大にJITかかるっぽいです。なので、起動からしばらくはCPUパワーが100%に張り付いてます。100%から落ちると快適なんですけどね。描画もXを経由してるにしては速いし。OpenGL使ってるのかな?