From: whiteleaf <2nd.leaf@...> Date: 2010-07-04T15:47:18+09:00 Subject: [ruby-dev:41804] Re: rb_to_float が遅い whiteleaf です > これで速くなるのはFixnum,Bignum,Stringの三つ(とそのサブクラス)だ > けですが、これだけ速くなってうれしいんでしょうか。その代償として > to_fのオーバーライドが無視されるようになりますし。 そういえば to_f 再定義によるポリモーフィズムのことを完全に失念していました。 1.9.1の pack の変換があまりにも遅すぎたので(+buggy)、遅いな〜という先入観があったのですが、 最新のコードだと今のままでも十分速いので、限られたクラスだけ速くなっても あんまりうれしくはないですね。 > そもそもパフォーマンスを考えるのであれば、Array#packでFloatに変 > 換させること自体が一時オブジェクトを大量に使い捨てにすることにな > るので、避けるべきではないかと思いますが。 そうですね、もちろん実際のコードでは避けます。 なので、やっぱり利便を捨てて無理に速くする必要もなさそうですね。