On Tue, 20 Feb 2024 16:32:54 GMT, Claes Redestad <redes...@openjdk.org> wrote:

> JDK-8282429 accidentally removed an optimization (JDK-8240094) that ensured 
> StringBuilder/StringBuffer::toString returns `""` when the builders are empty.
> 
> 
> Name                         Cnt     Base      Error   Test   Error   Unit  
> Change
> StringBuffers.emptyToString    5   12,289 ±    0,384  9,883 ± 0,721  ns/op   
> 1,24x (p = 0,000*)
>   :gc.alloc.rate                 1862,398 ±   57,647  0,007 ± 0,000 MB/sec   
> 0,00x (p = 0,000*)
>   :gc.alloc.rate.norm              24,000 ±    0,000  0,000 ± 0,000   B/op   
> 0,00x (p = 0,000*)
>   :gc.count                        31,000             0,000         counts
>   :gc.time                         21,000                               ms
> StringBuilders.emptyToString   5    4,146 ±    0,567  0,646 ± 0,003  ns/op   
> 6,42x (p = 0,000*)
>   :gc.alloc.rate                 9208,656 ± 1234,399  0,007 ± 0,000 MB/sec   
> 0,00x (p = 0,000*)
>   :gc.alloc.rate.norm              40,000 ±    0,000  0,000 ± 0,000   B/op   
> 0,00x (p = 0,000*)
>   :gc.count                        96,000             0,000         counts
>   :gc.time                         64,000                               ms
>   * = significant

This pull request has now been integrated.

Changeset: d2590c69
Author:    Claes Redestad <redes...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/d2590c69b4efe5aa2b48b08070e0dbafb04ef202
Stats:     25 lines in 4 files changed: 20 ins; 0 del; 5 mod

8325730: StringBuilder.toString allocation for the empty String

Reviewed-by: jlaskey, shade

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

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

Reply via email to