RFR: 8334755: Asymptotically faster implementation of square root algorithm

fabioromano1 duke at openjdk.org
Sat Jun 22 08:58:42 UTC 2024


I have implemented the Zimmermann's square root algorithm, available in works [here](https://inria.hal.science/inria-00072854/en/) and [here](https://www.researchgate.net/publication/220532560_A_proof_of_GMP_square_root).

The algorithm is proved to be asymptotically faster than the Newton's Method, even for small numbers. To get an idea of how much the Newton's Method is slow,  consult my article [here](https://arxiv.org/abs/2406.07751), in which I compare Newton's Method with a version of classical square root algorithm that I implemented. After implementing Zimmermann's algorithm, it turns out that it is faster than my algorithm even for small numbers.

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

Commit messages:
 - Merge branch 'openjdk:master' into patchSqrt
 - An optimization
 - Merge branch 'patchSqrt' of https://github.com/fabioromano1/jdk into patchSqrt
 - Merge branch 'openjdk:master' into patchSqrt
 - An optimization
 - An optimization
 - Optimized memory usage of square root algorithm
 - An optimization
 - Update comment
 - Update MutableBigInteger.java
 - ... and 17 more: https://git.openjdk.org/jdk/compare/50bed6c6...d95f9e7f

Changes: https://git.openjdk.org/jdk/pull/19710/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19710&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8334755
  Stats: 182 lines in 2 files changed: 172 ins; 4 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/19710.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19710/head:pull/19710

PR: https://git.openjdk.org/jdk/pull/19710


More information about the core-libs-dev mailing list