読者です 読者をやめる 読者になる 読者になる

R の高速化

RjpWiki (REvolutionR は連邦の新型か) を読んでちょっと触ってみました。


環境は、CPU: Core 2 Duo E8400 (3.0 GHz), Memory: 3.3 GB, Windows XP 32bit SP3。
R-benchmark-25.R を5回ずつ実行してみた。

  • R-org: R-2.10.0 デフォルト
  • ATLAS: ATLAS (C2D, CRANからダウンロードして [/R/R-2.10.0/bin] にコピー), R-2.10.0
  • Goto : GotoBLAS2-1.11p (cygwinでマルチコア用にビルドしたもの), R-2.10.0
  • Revo1: REvolution R (コア数1で計算), R-2.7.2
  • Revo2: REvolution R (コア数2で計算), R-2.7.2

"Total time for all 15 tests"の結果をまとめてみます。

ベンチマークの結果
R-org ATLAS Goto Revo1 Revo2
1回目 59.5 16.2 16.1 16.9 13.0
2回目 61.2 16.0 16.0 16.7 13.6
3回目 59.6 16.0 16.0 16.7 13.0
4回目 59.5 16.0 16.0 16.8 12.7
5回目 59.4 16.0 16.1 16.8 12.6
平均 59.9 16.0 16.0 16.8 13.0

GotoBLAS 版が少し不安定 (固まったり) だったので、結果がおかしいかもしれません、ビルドに失敗しているのかな。
Revo2はさすがに早いですね、うちのPCも凄い頑張った音を出していました。


ちなみに、普段シミュレーションをするときは ATLAS (C2D) 版 Rblas.dll をコピーして、Rを2個起動して運用しています。あと、Rtoolの都合でR-2.9.2の方をよく使います。
ATLAS を自前でコンパイルすると時間がかかるし、今のところこれで充分かなと思う。