[#30722] JSON ライブラリの取り込み — "NARUSE, Yui" <naruse@...>

naruseです。

20 messages 2007/04/21

[ruby-dev:30733] Re: 累乗が遅い

From: Kouhei Yanagita <yanagi@...>
Date: 2007-04-26 11:34:23 UTC
List: ruby-dev #30733
柳田です。

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 <neleai at seznam.cz>.
  [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 <yanagi at shakenbu.org>

In This Thread