RFR: JDK-8323186: A faster algorithm for MutablebigInteger.divWord(long, int) [v3]

Raffaello Giulietti rgiulietti at openjdk.org
Mon Jan 22 18:10:27 UTC 2024


On Tue, 9 Jan 2024 18:24:49 GMT, fabioromano1 <duke at openjdk.org> wrote:

>> The method `MutableBigInteger.divWord(long, int)` can use the algorithm of Hacker's Delight (2nd ed), section 9.3, the same used in `Long.divideUnsigned(long, long)` and `Long.remainderUnsigned(long, long)`, to get the computation faster.
>
> fabioromano1 has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Removed trailing whitespaces

As you note, that would probably require two divisions. I don't know if the JIT compiler can detect that the arguments are the same and emit just one division instead.
I think your code is good enough for the purpose of [Mutable]BigInteger, and better than the current one.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17291#issuecomment-1904538746


More information about the core-libs-dev mailing list