[ https://issues.apache.org/jira/browse/MNG-7899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17777681#comment-17777681 ]
ASF GitHub Bot commented on MNG-7899: ------------------------------------- gnodet commented on code in PR #1270: URL: https://github.com/apache/maven/pull/1270#discussion_r1366758647 ########## maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLogger.java: ########## @@ -103,13 +117,9 @@ protected String getLocation(final StackTraceElement e) { } else if (e.getFileName() == null) { return "Unknown Source"; } else if (e.getLineNumber() >= 0) { - return String.format("%s:%s", e.getFileName(), e.getLineNumber()); + return e.getFileName() + ":" + e.getLineNumber(); Review Comment: Shouldn't we go further and pass the message builder as an argument to avoid concatenating strings here ? > 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)