2009/09/28

32bit vs 64bit(ストレージ的に)

Windows 7の32bit版と64bit版について、ASCII.jpの記事「32bit vs 64bit Windows 7を入れるならどっちだ?」では64bitの方がHDDアクセスがかなり速いという結果が出ているが、これはダウトという話。

1. 前振り

Windows 7に移行するときは64bit版にしようと思っているが、従来、64bitのメリットが出るのは64bitのアプリケーションを使うときだけで、HDDアクセス自体はOSが64bitになったからといって速くなるものではないと認識していた。例えば、ITproの記事「Windows 7の64ビット版は“速い”のか」ではWindows 7 BetaとVistaのそれぞれ32bitと64bitについて、
  • PCMark05のHDD(XP Startup、General Usage、Virus Scan)
  • PCMark VantageのHDD Test Suite
の結果を出しているが、64bitの方が特に速いということはない。

ところが、ASCII.jpの記事「32bit vs 64bit Windows 7を入れるならどっちだ?」ではWindows 7(RTMか)の32bitと64bitについて、
  • CrystalDiskMark
  • PCMark05のHDD
  • PCMark VantageのHDD(HDD Test Suiteのことか)
の結果を出しているが、64bitの方がCrystalDiskMarkのシーケンシャルアクセスで3割程度速く、PCMark VantageとPCMark05でもかなり上回っている。中でもPCMark VantageとPCMark05は64bit版があるわけでもないので、OSが64bitになっただけでHDDアクセスが速くなるというなら、これは見過ごせない。

2. 実測

それではと、手持ちのHDDをWindows 7 RTMの32bitと64bit上で計測してみた。対象のHDDはTravelstar 5K500.Bの500GBモデル(HTS545050B9A300)で、ThinkPad X61s(メモリは4GB。32bitと64bitでドライバは基本的に同じで、Intel Matrix Storage Managerは8.9.0.1023)を使用。

まずはCrystalDiskMark(2.2)。
(注)HDDの先頭に2GBのパーティション(NTFS、クラスタサイズは4KB)を作成し、X61s本体に入れた状態で、ウルトラベースX6からWindows 7 RTMを起動して計測。64bitではDiskMarkX64.exeの方を使用。

続いてHD Tune Pro(3.50)。
(注)HDDにパーティションがない状態で、同様に計測。

結果は32bitと64bitでほとんど同じで、従来の認識を確認しただけに終わった。

3. 比較

改めてASCII.jpの記事を見ると、対象のHDDはWestern DigitalのWD10EADSの1TBモデルで、CrystalDiskMarkのシーケンシャルアクセスの値は32bitでは60MB/s前後台後半、64bitでは90MB/s前後になっている。テストサイズは50MBらしい。

一方、WD10EADSのCrystalDiskMarkでの値を検索してみると、環境とテストサイズによって差があるが、大体100MB/s前後で、値が低く出る1000MBのテストサイズのときでも90MB/s程度だった。

これから見ると、ASCII.jpの記事の64bitの値は普通といえるが、32bitの値は異常に低い。ハードウェア的には、Intel環境ではCPUはCore2QuadのQ6600、チップセットはP35 Express、メモリは4GBと、十分なもので、足を引っ張るようなものではない。上の2.の結果と比べても、スペック的に上回るこのハードウェアで大差を付けられるのは断然おかしい。

すなわち、ASCII.jpの記事の32bitの環境にたまたま何か足を引っ張る要因があり、32bitの値が低く出た結果、普通の値の64bitとの間で差があるように見えたに過ぎない可能性がある。

この可能性を潰さないと比較として疑問が残るが、64bitの方が速いという記事にしたいがためのバイアスがどこかで働いたのではないかと思う。

[追記と訂正]

ASCII.jpの記事中のCrystalDiskMarkのシーケンシャルアクセスの値は以下のとおり。

32bit64bit増加率
Intel環境
Sequential Read68.60687.13427.0%
Sequential Write68.18786.33126.6%
AMD環境
Sequential Read69.28691.26831.7%
Sequential Write67.85191.41934.7%

32bitの数字を「60MB/s前後」と書いていたが、「60MB/s台後半」に訂正。

2 コメント :

Noriyuki さんのコメント...

CrystalDiskMark に限らずファイル生成型のベンチマークは、HDDのどの位置にテスト用ファイルが生成されたかに依存します。

完全に妄想ですが、デュアルブート環境を構築して外周部に x64 版、内周部に x86 版をインストールした上で、それぞれ C ドライブをテストドライブに設定したとかなんとか・・・そんなオチのような気も。

90MB/sが60MB/sになるようなオーバーヘッドがどこに存在するのかと???

EMO さんのコメント...

あーなるほど。これだけの差が、しかもIntel環境とAMD環境で共通して出るという理由が想像つかなかったのですが、そういう可能性もありますね。

64bitの方もこのハードウェアで50MBのテストサイズにしては低めなので、HDDを半分に分けてパーティションを作って、それぞれのシステムパーティションを対象にすればこのぐらいになるのかもしれません。

すいません。「60MB/s前後」と書いていた部分は、見直すと正確でなかったので「60MB/s台後半」に訂正しました。