32ビットと64ビットとの性能差(Mathematicaの場合)

Windows 7は、32ビット版と64ビット版のどちらを使うのがいいのでしょうか。

絶対欠かせないソフトウェアが64ビット版では動かない場合、32ビット版を使うしかありません。そのソフトのためだけにVirtualBoxのようなを使ってもいいのですが、たいていの人はそんなことはしたくないでしょう。

4GB以上の主記憶を使いたい場合には、64ビット版を使うしかありません。32ビット版ではそれだけのメモリを使うことはできないからです。

上記2点のどちらにも当てはまらない場合はどうしたらいいでしょうか。

Mathematicaが大好きな人には(あるいは大好きじゃなくても、Mathematicaをよく使う人には)、64ビット版がおすすめです。変わらないという話もありますが、少なくともベンチマークでは圧倒的な差が出ます。

OSをクリーンインストールして(Vistaの場合はマザーボード付属のCDで各種ドライバをインストール)、本稿執筆時点でのWindows Updateで自動的に選択される更新をすべて適用した状態で、Mathematicaをインストールし、ベンチマークを実行した結果は次の通りです(利用したマシンはIntel Core i5 750 2.67GHz, 主記憶4GB)。

  • Windows Vista SP2 (32 bits): 5.05(ちなみに、インストール直後は4.98)
  • Windows 7 (32 bits): 5.21
  • Windows 7 (64 bits): 5.95

Mathematicaに関して言えば、64ビットにすることの効果はかなり大きいようです。

とはいえ、どんな計算でも速くなるというわけではありません。ベンチマーク結果とソース(省略)を詳しく見ると、計算が速くなるのはデータフィッティングやπの計算、離散フーリエ変換、ガンマ関数、大きな整数の計算、行列のべき乗、行列の転置などだということがわかります。

項目 Vista SP2(32 bits) 7 (32 bits) 7 (64 bits)
Total 17.08 16.53 14.49
Data Fitting 1.23 0.97 0.69
Digits of Pi 0.64 0.61 0.39
Discrete Fourier Transform 0.56 0.47 0.36
Eigenvalues of a Matrix 1.15 1.08 1.06
Elementary Functions 0.94 1.05 1.00
Gamma Function 0.50 0.47 0.27
Large Integer Multiplication 0.80 0.80 0.50
Matrix Arithmetic 2.12 2.14 1.78
Matrix Multiplication 1.09 1.08 1.20
Matrix Transpose 1.34 1.36 0.84
Numerical Integration 1.84 1.70 1.75
Polynomial Expansion 1.23 1.19 1.14
Random Number Sort 1.37 1.37 1.23
Singular Value Decomposition 1.08 1.00 1.05
Solving a Linear System 1.19 1.28 1.25