3

私の同僚は通常、高パフォーマンスの計算 (大量のデータ配列の計算) に C または Fortran を使用します。Ruby コードをコンパイル/変換して、パフォーマンスの点で最適化された C コードに近づける可能性はあるのでしょうか?

Ruby をバイトコード (Rubinius、JRuby、IronRuby、YARV?、Cardinal) にコンパイルしたり、ネイティブ コード (MacRuby、..?) にコンパイルしたりするプロジェクトは多数あります。C のパフォーマンスに近づく可能性はどのくらいですか?

また、Ruby コードを C コードに変換する非アクティブなプロジェクトとして、約 2 年間、ruby​​2c があります。


関連する質問:

4

3 に答える 3

4

数値計算でCパフォーマンスレベルに到達する最も簡単な方法は、高度に最適化されたコンパイル済みCコードであるRuby/GSLなどの特殊なライブラリを使用することです。最終的なパフォーマンスは、コードがライブラリで費やす時間によって異なります。

于 2011-07-19T13:30:22.967 に答える
4

含めなかったオプションが 1 つあります。C で Ruby を拡張するのはかなり簡単です。そのため、高速にする必要がある限られた一連の操作がある場合は、C 拡張機能を作成して Ruby から使用できます。

http://people.apache.org/~rooneg/talks/ruby-extensions/ruby-extensions.html

于 2011-07-19T09:19:14.510 に答える
3

既に述べたように、高パフォーマンスのライブラリを ruby​​ ラッパーと共に使用したいと思うでしょう。科学計算用の Java ライブラリを使用する JRuby を軽視しないでください。

于 2011-07-19T14:18:00.370 に答える