累乗が遅いらしいので、 どこから遅くなったのかを ruby_1_8 ブランチで調べてみました。
ruby 1.8.5 時点では問題はありませんでしたが、 次のコミット以降 core dump するようになり、
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 <neleai at seznam.cz>. [ruby-core:08794] * numeric.c (fix_minus): ditto. * bignum.c (rb_big_pow): eagerly truncate resulting bignum. [ruby-core:08794]
これを修正した
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]
のコミット以降、累乗が遅くなっているようです。
改善されたようです。ruby-dev:30736