MacRuby 0.5がリリース間近だ。現在のところ、MacRuby 0.5 beta 2が利用可能で、多くの改良が含まれ、RubySpecとの互換性も向上している。
Ahead of Time (AOT)コンパイルも改良された。
また、macrubyはMacRuby.frameworkに対して動的にリンクした実行ファイルをデフォルトで生成するようになります。このことによって、実行ファイルのサイズが小さくなります。完全にスタンドアロンの実行ファイルを生成するには、static引数を渡す必要があります。
新しいツールにより、スタンドアロンで自己完結型のアプリケーションを書くのがより簡単になる。
macruby_deployという新しいユーティリティがMacRubyアプリケーションのデプロイを支援するために利用可能となりました。このユーティリティにより、ahead-of-timeでアプリケーションのRubソースコードをコンパイルするとともに、アプリケーション・バンドルのなかにMacRubyフレームワークを同梱するオプションを提供します。あらかじめコンパイルされているので、ソースコードが秘匿された状態でアプリケーションをデプロイできる状態になります。
InfoQでは以前、MacRuby 0.5での大きな変更点をとりあげた。この中にはGILの廃止や、新しいLLVMベースのVMなどが含まれる。
もうひとつのRuby VMが、新しいバージョンをリリースした。Rubinius 0.13が利用可能になったのだ。このリリースでのハイライトとして、デフォルトで有効になったJITや、刷新されたコンパイラとパーサなどが含まれる。
さらに将来的に、実稼働環境で役に立つようになるかもしれないQueryAgentも導入された。これはRubinius VMの内部で実行され、設定可能なポートで接続を待つものだ。クライアントはこれに接続し、ステータスや実行時の情報を問い合わせることができる。現時点では、設定項目だけが利用可能なようだ。この仕組みはBERTをデータを送信するのに利用している。動かしてみるには、次のコマンドでRubiniusを起動すればよい。/bin/rbx -Xagent.port=$PORT_NUMBER
(利用可能な$PORT_NUMBERを選択のこと)。このプロトコルは文書化されていないが、エージェントの実装から、何がサポートされているかはヒントを得ることができる。
Rubiniusを試してみるには、Rubinius 0.13をGithubから取得すればよい。コンパイルするには、./configure
を実行し、その後rake
を実行するとよい。LLVMに置き換えてRubiniusをビルドするためには、./configure
のかわりに./configure --enable-llvm
を利用する。これによりLLVMを取得しビルドを行ってくれる。
Rubiniusが、Ruby 1.8.7に匹敵するようになったことを見るには、./bin/bm
を実行してみればよい。これによりMRIとRubiniusに対して一連のベンチマークが実行される。