Hi again,

 updated webrev: http://cr.openjdk.java.net/~redestad/8050142/webrev.1

 changes:
 - specify capacity on line 2931 as suggested by Andrej Golovnin
 - exp.append("0") -> exp.append('0') on line 3781
 - merged append+justify into appendJustified as suggested by Peter Levart
- replaced the reoccuring pattern of appending a number of zeros into a call to trailingZeros

performance difference seemingly at noise levels in micros, but bonus to readability and Formatter*.class-files are now a total of 246 bytes smaller

/Claes

On 2014-07-14 13:29, Claes Redestad wrote:
Hi Peter,

On 2014-07-14 13:25, Peter Levart wrote:
On 07/14/2014 12:07 PM, Claes Redestad wrote:
Hi,

please review this patch which optimizes away some allocations from java.util.Formatter and achieve 1.1-1.3x speedups of micros targetting String.format. See bug for more details.

 webrev: http://cr.openjdk.java.net/~redestad/8050142/webrev.0
 bug: https://bugs.openjdk.java.net/browse/JDK-8050142

Testing: JPRT, jtreg (java/lang/String, java/util/Formatter), SPECjbb2013 and microbenchmarks

 Thanks!

 /Claes

Hi Claes,

Since justify() result is always appended to the resulting Appendable, you could merge the functionality and eliminate constructing intermediary StringBuilder altogether:

http://cr.openjdk.java.net/~plevart/jdk9-dev/Formatter/webrev.01/

Looks good, especially eliminating the need for two different append methods. I'll update based on this and other suggestions.

/Claes
Regards, Peter


Reply via email to