[ https://issues.apache.org/jira/browse/MNG-7899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17777248#comment-17777248 ]
ASF GitHub Bot commented on MNG-7899: ------------------------------------- sebastien-doyon commented on code in PR #1270: URL: https://github.com/apache/maven/pull/1270#discussion_r1365453818 ########## maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLogger.java: ########## @@ -71,8 +78,13 @@ private void printStackTrace(Throwable t, PrintStream stream, String prefix) { stream.print(prefix); stream.print(" "); stream.print(builder().strong("at")); - stream.print(" " + e.getClassName() + "." + e.getMethodName()); - stream.print(builder().a(" (").strong(getLocation(e)).a(")")); + stream.print(" "); + stream.print(e.getClassName()); + stream.print("."); + stream.print(e.getMethodName()); + stream.print(" ("); + stream.print(builder().strong(getLocation(e))); + stream.print(")"); Review Comment: Yes that is right, I noticed this while doing different tests but forgot to push the changes. Pushing the commit now. > Various memory usage improvements > --------------------------------- > > Key: MNG-7899 > URL: https://issues.apache.org/jira/browse/MNG-7899 > Project: Maven > Issue Type: Improvement > Components: Design, Patterns & Best Practices, Embedding, > General, Logging > Affects Versions: 4.0.0-alpha-2 > Reporter: sebastien > Priority: Major > > Some optimisations can be applied to the code to reduce the use of temporary > objects. > Typical improvements identified are: > * reduce scope of temporary objects creation to avoid creating when not > needed. Example : > {code:java} > public String toString() { > StringBuilder sb = new StringBuilder(512); > if (isEmpty()) { > return "empty"; > } > for (MetadataGraphVertex v : vertices) { > .....{code} > can be replaced by > {code:java} > public String toString() { > if (isEmpty()) { > return "empty"; > } > StringBuilder sb = new StringBuilder(512); > for (MetadataGraphVertex v : vertices) { > .....{code} > * Reuse StringBuilder objects in loops by setting its length to zero > * Use the StringBuilder.append() with index to avoid String.substring(). > Example: > > {code:java} > int idx = resourceName.lastIndexOf('/'); > buffer.append(idx < 0 ? resourceName : resourceName.substring(idx + 1)); > {code} > can be replaced by > > {code:java} > int idx = resourceName.lastIndexOf('/'); > if (idx < 0) { > buffer.append(resourceName); > } else { > buffer.append(resourceName, idx + 1, resourceName.length()); > } {code} > > > * Replace dynamic string creation static constants when possible > * Avoid creating temporary strings with + operator when the final > destination can be used instead, like PrintStream.print() method > * Avoir using StringBuilder.append() method and util method MessageUtils.a() > when the final destination can be used instead, like PrintStream.print() > method > -- This message was sent by Atlassian Jira (v8.20.10#820010)