【作成中】RCPP 内部での最適化
Published:
今後更新予定
RCPP内部で数値最適化を行うときのTipsについて記述する予定です。 具体的には、以下の4ケースのパフォーマンス(計算時間)を比較します。
- Rのみ。
- 目的関数をRcppで書いて、それをR上でOptimizeする。
- 目的関数をRcppで書いて、それをRcppにおいて、Rの関数を呼び出してOptimizeする。
- 目的関数をRcppで書いて、それをRcpp上で、CPPの関数を使ってOptimizeする。
RCPPに関するリンク(今後整理予定)
- “Should I prefer Rcpp::NumericVector over std::vector?”
- “Basic C++ through Rcpp”
- “Chapter 20 Integrating with C++ using Rcpp and RcppEigen”
- “EconR: Solving a simple 2-period Consumption problem with RcppGSL
- RCPP内でOptimizationをしたいときに、RcppGSLを使ってどのようにやるかという例。
- ただし、RcppGSLをインストールすること自体がトリッキー(Windowsの場合)。以下を参照。
- Install R packages: RcppGSL
- WindowsでRcppGSLをインストールする方法。パッケージ自体は
install.packages("RcppGSL")
でいけるが、RCPP内でGSLの関数や変数を使うためには、GSLのヘッダーファイルなどを別途入れる必要がある。 - 同じページ内の下部にあるサンプルプログラムもIntroの解説としてとても良さそう。
- WindowsでRcppGSLをインストールする方法。パッケージ自体は
- Slower implementation in Rcpp than R when importing R functions