On Thu, 19 Oct 2023 10:22:19 GMT, Raffaello Giulietti <rgiulie...@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