From: Yukihiro Matsumoto Date: 2008-05-01T23:07:16+09:00 Subject: [ruby-dev:34564] Re: rb_yield の高速版 まつもと ゆきひろです In message "Re: [ruby-dev:34560] rb_yield の高速版" on Thu, 1 May 2008 19:27:02 +0900, wanabe writes: |rb_yield を連続で呼び出すときに、積んだフレームを使いまわす関数を書きました。 |試験的に Fixnum#times にだけ組み込んでいますが、ほかにも |Array#each, Range#each などで使えると思います。 | |ruby -e 'GC.disable;t=Time.now;(10**7).times {};p Time.now - t' |こんな感じの簡単な計測では 4.9秒から 3.5 秒ほどに縮まりました。 |一応手元では make test と make test-all の動作を確認してあります。 非常に興味深いのですが、ささだくんはブロックに関して別の考え があるかもしれません。彼が賛成したら取り込みましょう。