在我的代码中尝试以下可能的优化。 (更新:减去更慢这是有道理的,因为它是一个更复杂的过程。)
代码:
if (bigK.compareTo(prevLevelChildrenCount) > 0)
到
if (bigK.subtract(prevLevelChildrenCount).signum() == 1)
速度(减去vs compareTo)当迭代使用100,000,000次随机数时。
在溢出方面使用减法作为整数时,biginteger行为是否相同?
我发现了以下问题,但认为这是不重复,因为biginteger没有与整数相同的限制。但它是否共享溢出问题?
答案 0 :(得分:2)
为什么我不应该这样做?我比较两个正大整数?
我不明白为什么你不应该这样做,确保它先行。
哪一个应该更快?在我自己的测试中,减法似乎工作得更快。
我不相信一个人比普通人更快。请注意,微优化很少有效。
在溢出方面使用减法作为整数时,biginteger行为是否相同 但它是否共享溢出问题?
不,BigInteger
不会溢出。根据链接的Javadoc,
有关溢出的规范中的所有细节都将被忽略,因为BigIntegers 可以根据需要调整以适应操作的结果。