From: Kouhei Yanagita Date: 2007-04-26T20:34:23+09:00 Subject: [ruby-dev:30733] Re: 累乗が遅い 柳田です。 1.8.5 では特に遅いということはなく 1.8.6 では遅かったので、 ruby_1_8 ブランチでどこから遅くなってるか調べてみました。 r10880 のコミット ------------------- r10880 | matz | 2006-09-08 01:35:59 +0900 (金, 08 9月 2006) | 9 lines * numeric.c (fix_plus): addition in Fixnum will never overflow long. a patch from Ondrej Bilka . [ruby-core:08794] * numeric.c (fix_minus): ditto. * bignum.c (rb_big_pow): eagerly truncate resulting bignum. [ruby-core:08794] ------------------- で、累乗が core dump するようになっています。 この直前までは、問題ありませんでした。 この core dump を修正した ------------------- r10898 | matz | 2006-09-10 00:27:34 +0900 (日, 10 9月 2006) | 5 lines * bignum.c (rb_big_mul0): bignum multiplication without normalization. * bignum.c (rb_big_pow): use rb_big_mul0(). [ruby-dev:29547] ------------------- ここから遅くなっているようです。 -- Kouhei Yanagita