Rで計算速度を上げるための3つのステップ

現段階でへっぽこR使いのid:syou6162が思っている感じのこと。

Rレベルでなるべく早くする

  • apply familyとかouterなどなるべくベクトル単位で処理するようにする
  • forを避ける
  • このレベルでもものによってはかなり早くなる

Cを使う

  • 速度を上げるための方法としては決定に違ってくるレベルのもの
  • 場合によっては50倍とか1000倍くらい早くできる
  • ボトルネックの解消に効きます!!
  • が、Cのコードを書いたり呼び出したりしないといけないので、開発の時間まで考えてCで書いたほうが早いかそれともRでさくっと書いて待ってたほうが早いかの意思決定をしたほうがいい

snowパッケージを使う

  • 劇的に速度が上がる、というわけではない
  • Coreの数分だけ早くなる
  • 「やっばい、明日提出なのに、12時間後に終わっても意味ないんだよ><」とか切羽つまっているときには役に立つかな
  • 処理によっては早くできないものもあるので、できればラッキーくらいで考えておいていいんじゃないか

というか、この内容をTsukuba.R#4とかで話しそうな感じだと思う。