RFR: 8315585: Optimization for decimal to string [v7]
Shaojin Wen
duke at openjdk.org
Sun Oct 22 05:59:34 UTC 2023
On Thu, 19 Oct 2023 10:22:19 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:
>> I've opened up #16244 for review - thanks for helping with analysis and verification.
>
> @cl4es @wenshao I'd like to review the mathematical aspects of these changes once the refactorings with string concatenations have stabilized enough to your satisfaction.
>
> Please ping me here when no more such work is planned.
> TIA
@rgiulietti It is currently a stable version, please help me start the review.
Here are the performance numbers running on the MaxBook M1 Pro:
-Benchmark Mode Cnt Score Error Units (baseline)
-BigDecimals.hugeEngineeringToString avgt 15 199.683 ? 7.457 ns/op
-BigDecimals.hugeLayoutCharsToString avgt 15 205.366 ? 2.673 ns/op
-BigDecimals.hugePlainToString avgt 15 219.066 ? 3.334 ns/op
-BigDecimals.largeScale2EngineeringToString avgt 15 55.303 ? 0.606 ns/op
-BigDecimals.largeScale2LayoutCharsToString avgt 15 55.284 ? 0.512 ns/op
-BigDecimals.largeScale2PlainToString avgt 15 22.836 ? 0.128 ns/op
-BigDecimals.largeScale3EngineeringToString avgt 15 57.332 ? 0.851 ns/op
-BigDecimals.largeScale3LayoutCharsToString avgt 15 57.535 ? 1.221 ns/op
-BigDecimals.largeScale3PlainToString avgt 15 23.967 ? 0.055 ns/op
-BigDecimals.smallScale2EngineeringToString avgt 15 17.063 ? 0.444 ns/op
-BigDecimals.smallScale2LayoutCharsToString avgt 15 16.999 ? 0.072 ns/op
-BigDecimals.smallScale2PlainToString avgt 15 24.069 ? 0.511 ns/op
-BigDecimals.smallScale3EngineeringToString avgt 15 53.697 ? 0.872 ns/op
-BigDecimals.smallScale3LayoutCharsToString avgt 15 53.754 ? 1.990 ns/op
-BigDecimals.smallScale3PlainToString avgt 15 24.596 ? 0.100 ns/op
+Benchmark Mode Cnt Score Error Units (51b1041)
+BigDecimals.hugeEngineeringToString avgt 15 194.288 ? 7.294 ns/op (+2.78)
+BigDecimals.hugeLayoutCharsToString avgt 15 192.121 ? 2.079 ns/op (+6.90)
+BigDecimals.hugePlainToString avgt 15 201.692 ? 4.527 ns/op (+8.62)
+BigDecimals.largeScale2EngineeringToString avgt 15 20.128 ? 0.266 ns/op (+174.76)
+BigDecimals.largeScale2LayoutCharsToString avgt 15 20.681 ? 0.508 ns/op (+167.32)
+BigDecimals.largeScale2PlainToString avgt 15 19.950 ? 0.273 ns/op (+14.47)
+BigDecimals.largeScale3EngineeringToString avgt 15 23.564 ? 0.542 ns/op (+143.31)
+BigDecimals.largeScale3LayoutCharsToString avgt 15 23.424 ? 0.057 ns/op (+145.63)
+BigDecimals.largeScale3PlainToString avgt 15 22.991 ? 0.048 ns/op (+4.25)
+BigDecimals.smallScale2EngineeringToString avgt 15 11.641 ? 0.181 ns/op (+46.58)
+BigDecimals.smallScale2LayoutCharsToString avgt 15 11.589 ? 0.031 ns/op (+46.69)
+BigDecimals.smallScale2PlainToString avgt 15 11.594 ? 0.032 ns/op (+107.60)
+BigDecimals.smallScale3EngineeringToString avgt 15 24.684 ? 0.313 ns/op (+117.54)
+BigDecimals.smallScale3LayoutCharsToString avgt 15 25.058 ? 0.151 ns/op (+114.52)
+BigDecimals.smallScale3PlainToString avgt 15 24.194 ? 0.217 ns/op (+1.67)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16006#issuecomment-1774003635
More information about the core-libs-dev
mailing list