RFR: 8315585: Optimization for decimal to string [v4]

Shaojin Wen swen at openjdk.org
Mon Feb 3 01:23:53 UTC 2025


On Sun, 2 Feb 2025 06:58:21 GMT, Johannes Graham <duke at openjdk.org> wrote:

>> Good suggestion, but DecimalDigits no longer provides a pair method
>
> Right - you’d need to add it back to try this

I tested it on a MacBook M1 Max machine and the results were different from what you said. Using StringBuilder + digitPair would degrade performance.



git remote add wenshao git at github.com:wenshao/jdk.git
git fetch wenshao

# use JLA
git checkout f9af0b0203145b95d82a2067a10bde61b0915dd7
make test TEST="micro:java.math.BigDecimals.smallScale2"

# use digitPair
git checkout 4124121933e08ab185f3f879856197ed15caafd7
make test TEST="micro:java.math.BigDecimals.smallScale2"



Benchmark                                   Mode  Cnt  Score   Error  Units (f9af0b02031)
BigDecimals.smallScale2EngineeringToString  avgt   15  9.658 ? 0.228  ns/op
BigDecimals.smallScale2LayoutCharsToString  avgt   15  9.597 ? 0.047  ns/op
BigDecimals.smallScale2PlainToString        avgt   15  9.759 ? 0.054  ns/op


Benchmark                                   Mode  Cnt   Score   Error  Units (4124121933e)
BigDecimals.smallScale2EngineeringToString  avgt   15  18.763 ? 0.332  ns/op
BigDecimals.smallScale2LayoutCharsToString  avgt   15  18.738 ? 0.214  ns/op
BigDecimals.smallScale2PlainToString        avgt   15  18.992 ? 0.226  ns/op

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23310#discussion_r1938650872


More information about the core-libs-dev mailing list