JDK-8041679 Replace uses of StringBuffer with StringBuilder within the JDK

Ivan Gerasimov ivan.gerasimov at oracle.com
Mon May 12 10:37:08 UTC 2014


Wouldn't it be a little bit more efficient to replace a string 
concatenation with yet another StringBuilder operation?

src/share/classes/com/sun/java/util/jar/pack/BandStructure.java

  631                 StringBuilder sb = new StringBuilder();
  ...
  636                 Utils.log.fine("   meta-coding "+sb);

=>

  631                 StringBuilder sb = new StringBuilder("   meta-coding ");
  ...
  636                 Utils.log.fine(sb);


and

  759                     StringBuilder sb = new StringBuilder();
  ...
  764                     ps.print(" //header: "+sb);

=>

  759                     StringBuilder sb = new StringBuilder(" //header: ");
  ...
  764                     ps.print(sb);


Sincerely yours,
Ivan

On 12.05.2014 14:03, Paul Sandoz wrote:
> Hi,
>
> This is a request for review of Otavio's patch replacing StringBuffer with StringBuilder within OpenJDK. (I also need to review it.)
>
> It covers many areas and i have grouped the patches into such areas to aid reviewing. When commenting please including core-libs.
>
> Jtreg tests showed no regressions, but when reviewing we need to be mindful of the context e.g. if the buffer escapes and can cross thread boundaries.
>
> This is also an experiment to see if we can review the whole thing under one bug :-) if things prove problematic and slow we can split it out. Many files are touched but there are not many changes to each file and changes are very formulaic.
>
> I have also included ASM related changes, but i suspect we may have to leave those alone since such changes will make it more difficult to pull in ASM from upstream.
>   
> -
>
> Otavio, for the record can you reply to this thread posting your single ("uber") patch as textual attachment? (IIUC such attachments should now be supported by the email server).
>
> Paul.
>
> - core
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-core/webrev/
>
> - io
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-io/webrev/
>
> - management
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-management/webrev/
>
> - rmi
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-rmi/webrev/
>
> - security
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-security/webrev/
>
>
> - tools
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-tools/webrev/
>
>
> - graphics/media
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-media/webrev/
>
>
> - asm
> http://cr.openjdk.java.net/~psandoz/jdk9/sb/JDK-8041679-buffer-to-builder-asm/webrev/
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20140512/f96fd2be/attachment.html>


More information about the serviceability-dev mailing list