関係各位の努力に感謝します。ファイルをご参照ください)ので、試して頂けると良いと思います。命令の削除による高速化」や「分岐・メソッドカバレッジの測定のサポート」などがあります。命令の削除による高速化」について引用します。高速化を実現しました。有効にされず、これらの命令は無用なオーバヘッドとなっていました。命令を用いる代わりに、動的書き換えを利用します。それから、同じくリリースノートに、ブロックパラメータに関する性能改善について書いてあります。比べて約3倍高速化しました。渡されたブロックを、さらに他のメソッドに渡したい場合、ブロックパラメータを利用する必要があります。オブジェクトの生成が必要であり、ブロック渡しのためにはこれが大きなオーバヘッドとなっていました。この問題を解決します。これらは私の仕事だったので、紹介文を書かせて頂きました。他と比べて長すぎますね。迫力があっていいんじゃないでしょうか。具体的な数字があると、うれしいですしね。本稿では、これらの機能をもう少し深掘りして、リリースノートやチケットでの議論では出てこない、普段、私がどんなことを考えながら開発しているのかをご紹介できればと思っています。ために私が行ってきた活動についてもご紹介します。命令の除去」についての話です。何を実現したいのかこの新機能については、福岡Ruby会議02でのキーノート「Rubyにおけるトレース機構の刷新」でお話ししました。Development)。いう機能があります(リファレンス。set_trace_func)。何かあると、例えば行を越えると何かフックを実行する、ということに使います。渡したブロックを実行します。そのため、出力は次のようなものになります。命令というものを、フックを実行する可能性があるところに沢山挿入しています。命令が挿入されています。「知らない」と答えると思います。命令は単なるオーバヘッドにしかなりません。多くの場合、この命令は無駄なわけです。動かなくなるけどちょっと速くなる、ということができたのですが、そもそもコンパイルオプションが指定できることを知っている人はごく少数ですよね。いったデバッガが利用できなくなります)。命令を利用する、ということをやめました。命令列の命令を書き換える、ということにしました。実際の例を用いて説明します。次のようにコンパイルされていました。命令が入っていることがわかります。命令を排除した状態でコンパイルしておきます。命令がないので、なんとなく速そう、という気分が伝わるんじゃないかと思います。