From: SASADA Koichi Date: 2010-03-10T09:15:31+09:00 Subject: [ruby-dev:40590] Fast Exception creation with raw backtrace  ささだです.  Exception オブジェクトを作成するとき,必ず「読みやすいバックトレース」 を生成しますが,使わないときも結構あります.使わない場合も,人に「読みや すいバックトレース」を作成するのは無駄だなと考えました. 読みやすいバックトレース:caller メソッドで取り出せるアレ  そこで,例外オブジェクト生成時には「読みやすいバックトレース」を生成す るのに必要な情報だけを持っておき,本当に「読みやすいバックトレース」を必 要としたときに初めて作る,というようにしました.  以下のページに評価結果を書きました.それなりに効果があるようです. http://www.atdot.net/~ko1/diary/protect/201003.html#d10  なるべく互換性を崩さないように作ったのですが,一点非互換がありまして, 今までは例外生成時に Exception#set_backtrace をよんでいたのですが,これ を呼ばなくなります.  デフォルトでは問題無いと思うのですが,Exception#set_backtrace が再定義 されていると問題になるかもしれません.が,そういう用途があるかはよくわか りません.  さて,入れてもいいものでしょうか.  ちなみに,test-all では失敗が増えちゃったので,まだデバッグします. 前:7039 tests, 2169277 assertions, 5 failures, 3 errors, 0 skips 後:7039 tests, 2169213 assertions, 15 failures, 12 errors, 0 skips -- // SASADA Koichi at atdot dot net