Windows8と 32bitか64bitか

 一般論ですが、なぜかこういう話ってないですねぇ。

 たまーに聞かれるのですが、私はPCのプログラムをほとんど書いていないのでわかりません・・・。

 といいつつ、考えをめぐらしてみるのですが。

 32bitでも4GB以上のRAMを使うOSがあるので、一般向けWindowsなんでそうしてくれないのって話はさておき。(<-これだけで幸せになれるんだけど)

 結論だけなら、一般的なアプリケーションを使うだけなら32bitを押します。

 じゃあ、なんで私のメイン機は64bit入れてるのかというと・・・メモリを多く使いたいのと・・・趣味です。

 そういう私もネットブックとかサーバ(笑)には32bitです。基準は32bitアプリで十分で、速度重視、もしくは、メモリが4GB以下の場合。

—-ここからは、某おじいちゃん向けの説明(笑)

 64bitのメモリ空間が物理的になければ(つまりメモリが4GBとか3GB以下って話です)、CPUの拡張命令以外のメリットを見出すのは難しそうです。

 この前提条件では、ALU(CPU内の演算をつかさどる部分)の実行速度は、32bit命令がネイティブ実行されるという前提条件では32bitでも64bitでも同じということになりますね。(これはインテルやIMDのCPUでは満たしていると思います・・・たぶん)

 ここでプログラム容量の話ですが、64bitは普通に考えて同じ命令でも命令長が長くなります。RAMに配置されるプログラムの大きさが大きくなります。つまり、64bitプログラムのほうが32bitプログラムより多くメモリを使うということです。

 HDDをたくさん使用し、同じプログラムを動かしても多くのメモリを消費し、起動時間もHDDの読み込み速度の関係から、当然32bitの方が速くなります。

 まあ、レジスタが増えたとか、そういう話もありますが、じゃあ、最新のCPU用にコンパイルしなおした32bitがいいということになります。

 新しい拡張命令も、特定用途以外では遅くなるかもしれないようなものですから、3D画像処理とかエンコード(それでもCPUが最新の場合のみ?)とか、だけで、我々一般人には必要なさそうです。

 ただ、体感では、32bitのほうが速いというのは事実ですからねぇ。

 それに、昨日の話の通り、32bitをサポートするWindows8は2023年までサポートされそうですから、まあ、32bitでいいか、と思っちゃいますね。