review request for 6622432 (original) (raw)
Xiaobin Lu Xiaobin.Lu at Sun.COM
Tue Feb 17 18:29:43 UTC 2009
- Previous message: review request for 6622432
- Next message: inefficient Des3DkCrypto/DigestMD5Base.setParityBit()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 02/17/09 03:15, Christian Thalinger wrote:
On Mon, 2009-02-16 at 14:33 -0800, Xiaobin Lu wrote:
Webrev: http://webrev.invokedynamic.info/xiaobin.lu/6622432/
6622432: RFE: Performance improvements to java.math.BigDecimal As you know, the division operation is expensive and the algorithm to compare with the ten's power array can be made more efficiently by correlating the bit length of the number with the index to the array so that the time to compute the precision is O(1) rather than being O(n) (where n is the length of the array). And that is exactly what we are doing in the webrev. First, we get the bit length of the number and then multiply it with log2 (10 base), use the result to index to a dynamically expanded ten's power array so that division operation can be avoided completely. Actually I'm not reviewing the webrev but I have some questions. 1. Is bitCount() called often and performance critical? There is a RFE (6378821) to intrinsify it and I am thinking about to implement it. No, I don't think it is a hot method in both derby and SPECjbb2005 based on the profiling information from Analyzer. I might be wrong, but you can verify it easily. 2. Why is BigInteger using it's own implementation of bit-count (bitCnt()) instead of using Integer.bitCount()? That is a good catch. I will fix it.
-Xiaobin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.openjdk.java.net/pipermail/core-libs-dev/attachments/20090217/b72cf4eb/attachment.html>
- Previous message: review request for 6622432
- Next message: inefficient Des3DkCrypto/DigestMD5Base.setParityBit()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]