MacRubyコンパイラの使い方
By Antonio Cangiano.
本日(訳者注:2009年10月8日)、Ruby界隈において大きなニュースがあります。MacRubyチームが(実験段階でRuby言語を完全に実装していない)バージョン0.5の最初のベータをリリースしました。このバージョンでは、JIT、恐ろしいGIL(Global Intepreter Lock)の除去、ネイティブスレッド対応、マルチコアCPUでのGCD(Grand Central Dispatch)対応、そして、リリースアナウンスにあるような全く新しい機能を実現しました。
最も重要で新しい機能はコンパイラプログラムの存在です。その通りです。このリリースにより、Rubyコードが非常に最適化されて実行形式のコードにコンパイルすることができるようになります。どのように素晴らしいかって?このニュースでとても期待にふくらんでしょう。それなら、MacRuby.comへアクセスして、インストールファイルをダウンロードしましょう。そうしたら、次のようにちょっとしたテストを実行してみましょう:
$ macrubyc world_domination.rb -o world_domination Can't locate program `llc'
しまった!llcは、(MacRubyも利用している)LLVMが提供するツールのひとつです。しかしながら、MacRubyのインストーラには含まれていません。でも、慌てなくても大丈夫。解決方法があります:
$ svn co -r 82747 https://llvm.org/svn/llvm-project/llvm/trunk llvm-trunk $ cd llvm-trunk $ ./configure $ UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" ENABLE_OPTIMIZED=1 make -j2 $ sudo env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" ENABLE_OPTIMIZED=1 make install
もし、あなたのコンピュータのCPUが2コアでない場合は、4行目の-j2オプションを取り除くか数をコア数によって調整して下さい。
コンパイルには、コンピュータのスピードによって結構な時間がかかるかもしれませんが、最終的にはLLVMは作成されますよ。:-P llcはPATH環境変数内のディレクトリに配置して下さい。やっと、これでRubyコードをコンパイルして、あなたの世界征服計画の実現を助ける実行ファイルを作成することができます。
$ macrubyc world_domination.rb -o world_domination $ ./world_domination MUAHAHAHAHA!
0 件のコメント:
コメントを投稿