Hotspot loves PHP.reboot
Per Bothner
per at bothner.com
Wed Sep 7 00:00:01 PDT 2011
On 09/06/2011 08:07 PM, Charles Oliver Nutter wrote:
> I also thought of an existing API that would benefit from this, and
> perhaps there's a path to getting something in JDK 7 (unofficially)
> and JDK 8 (officially): BigInteger. Ideally BigInteger should only use
> a primitive long (or int?) up to its limits, and not allocate an array
> until it exceeds those limits. Such an implementation would need to do
> the same overflow checks JRuby does, and could benefit from
> addDetectingOverflow. And we know there's constant cries for
> BigInteger and BigDecimal perf to be improved...so I'd say every bit
> helps.
Kawa's gnu.math.IntNum already does this. It has only two fields:
/** All integers are stored in 2's-complement form.
* If words == null, the ival is the value of this IntNum.
* Otherwise, the first ival elements of words make the value
* of this IntNum, stored in little-endian order, 2's-complement form. */
public int ival;
public int[] words;
I assume this is one reason why Kawa's IntNum is (mostly) faster than
BigInteger.
--
--Per Bothner
per at bothner.com http://per.bothner.com/
More information about the mlvm-dev
mailing list