web-dev-qa-db-ja.com

C / C ++へのRコンパイラはありますか?

Rを展開するための最良の方法について考えています。Matlabには「matlabコンパイラ」(MCR)があります。 RをCまたはC++にコンパイルするRについて、過去に類似したものについて議論がありました。ライスのジョンガービンが開発した R to Cコンパイラ(RCC)の経験はありますか

私はそれを調査しました、そしてそれは実行可能コードへのRコードのコンパイルに取り組んだ唯一のプロジェクトのようです。そして、私が知る限り、それはまだ使用されていません。

[編集1:]:明確にするために、RへのCおよびC++(およびJava、Pythonなど)のインターフェース(rJava、rcpp、Rpyなど)があることを知っています。事前にRをインストールせずにRコードをコンパイルしてデプロイする具体的な方法について知りたいのですが。

[編集2:]:John Mellor-Crummeyは、彼らはまだRCCに取り組んでおり、それを4か月ほどで(できるだけ早く)利用できるようにしたいと語っています。他に何か見つかったら、これをさらに更新します。

39
Shane

バイトコードコンパイラは、R 2.13リリースの一部になります。デフォルトでは、このリリースでは使用されていませんが、使用できます。 2.14リリースでは、デフォルトですべての基本パッケージと推奨パッケージがバイトコンパイルされると思います。詳細については、compiler :: compileヘルプページとRインストールおよび管理マニュアルを参照してください。

35
Luke Tierney

Riceプロジェクトのことを忘れていましたが、久しぶりです。ここでの運用条件は、プロジェクトページの上部に記載されていると思います:最終更新日3/06/06

そして私たちは皆、Rが大きく変わることを知っています。だから私はあなたのための標準的ないくつかのポインタしか持っていません:

  • Luke Tierney は、Rの内部についてだけでなくバイトコンパイラについてもよく知っているため、このようなプロジェクトに取り組んでいます。まだ準備はできていません。標準のRエンジンと組み合わせても機能します。
  • Stephen Milborrowには、Rの Ra 拡張機能があり、彼のジャストインタイムコンパイラパッケージ jit で動作します
  • rチュートリアルを使用したハイパフォーマンスコンピューティングの紹介 (UseR!2009の最新のチュートリアルスライド) は、プロファイリング、拡張のコンパイル、Rを使用した並列計算、...を含む RcppRInside について少し。

つまり、事前にRをインストールせずにRコードをコンパイルおよびデプロイするための特定の方法はありません。ごめんなさい。

編集/更新(2011年4月):Lukeの新しいcompilerパッケージはR 2.13.0(2011年4月リリース予定)の一部になります。ただし、2011年10月に予定されているR 2.14.0で想定されているデフォルトでは「アクティブ化」されていません。

編集/更新(2011年12月):ティアニー教授がバイトコードコンパイラで 100ページ以上の大量の用紙 をリリースしました。

17

Rを展開するとき、なぜ人々は恐怖を感じるのですか?以前にこの質問を見たことがあると思います。

Rのインストールは簡単です(実際に気になっているOSを言っているわけではありません)。 Windowsでは、1つの.exeです。ファイル、それを実行し、数回「はい」と言って完了です。おそらく、インストーラーexeにも無人インストールのフラグがあると思います。

6
Spacedman

Rのサブセットを実装するPコンパイラをチェックアウトできます。特に、リスト、行列、ベクトルなどがlsfit、chol、svdなどと同様に実装されています。

あなたはで無料版をダウンロードすることができます

www.ptechnologies.org

計算を大幅に高速化します。

ベスト、

なので

3
AST

私はGarvinのパッケージを使用していないので、それらの方法で何ができるかわかりません。しかしながら:

通常、人々はボトルネックを見つけるために プロファイリング の後にC/C++/Fortranで直接計算集中型の関数を記述します。 RCppインターフェース または Rから.Cおよび.Callを使用してC関数を呼び出す の例を参照してください。 Scythe Statistical Library も、構文/関数名が類似しているため、Rユーザーにとって非常に便利です。

3
Tristan