Hi Claes, indeed, seems that this change breaks the zeroing optimization,
so ensureCapacityInternal() becomes slower when the char count is
comparable with the array length. Thanks.
On 22 February 2018 at 18:35, Claes Redestad
wrote:
> Hi,
>
> interesting - do you have any numbers showing a bene
Hi,
interesting - do you have any numbers showing a benefit from doing this
(on various sets of input)?
My concerns are that count might typically be close enough to value.length
to make the difference small in practice, and that there are some (fragile)
JIT optimizations to try and avoid zeroin
Similar optimizations are also possible in ArrayList and Vector.
On 22 February 2018 at 17:51, Roman Leventov wrote:
> AbstractStringBuilder.ensureCapacityInternal() doesn't need to copy the
> whole underlying array, only the part until the current count.
>
> diff --git a/src/java.base/share/cla
AbstractStringBuilder.ensureCapacityInternal() doesn't need to copy the
whole underlying array, only the part until the current count.
diff --git
a/src/java.base/share/classes/java/lang/AbstractStringBuilder.java
b/src/java.base/share/classes/java/lang/AbstractStringBuilder.java
--- a/src/java.bas