You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2017/10/13 06:43:05 UTC
[1/2] ant git commit: Fix the problem of using '+=' operator to
concatenate strings a in a loop.
Repository: ant
Updated Branches:
refs/heads/1.9.x f8b5fda65 -> 013e9159e
Fix the problem of using '+=' operator to concatenate strings a in a loop.
The method is building a String using concatenation in a loop.
In each iteration, the String is converted to a StringBuilder, appended to, and converted back to a String.
This can lead to a cost quadratic in the number of iterations, as the growing string is recopied in each iteration.
Better performance can be obtained by using a StringBuilder explicitly.
http://findbugs.sourceforge.net/bugDescriptions.html#SBSC_USE_STRINGBUFFER_CONCATENATION
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/c141ef40
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/c141ef40
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/c141ef40
Branch: refs/heads/1.9.x
Commit: c141ef400975be45469a0f7e4fcb2d9c5d9e6a1b
Parents: f8b5fda
Author: Kui LIU <br...@gmail.com>
Authored: Wed Oct 11 15:01:48 2017 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Fri Oct 13 08:32:09 2017 +0200
----------------------------------------------------------------------
src/main/org/apache/tools/ant/Main.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/c141ef40/src/main/org/apache/tools/ant/Main.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/Main.java b/src/main/org/apache/tools/ant/Main.java
index b104fd3..a7d4776 100644
--- a/src/main/org/apache/tools/ant/Main.java
+++ b/src/main/org/apache/tools/ant/Main.java
@@ -1292,9 +1292,9 @@ public class Main implements AntMain {
// now, start printing the targets and their descriptions
final String lSep = System.getProperty("line.separator");
// got a bit annoyed that I couldn't find a pad function
- String spaces = " ";
+ StringBuilder spaces = new StringBuilder(" ");
while (spaces.length() <= maxlen) {
- spaces += spaces;
+ spaces.append(spaces);
}
final StringBuilder msg = new StringBuilder();
msg.append(heading).append(lSep).append(lSep);
[2/2] ant git commit: Fix the inefficient use of keySet iterator with
entrySet iterator.
Posted by bo...@apache.org.
Fix the inefficient use of keySet iterator with entrySet iterator.
The current source code accesses the key and value of a Hashtable entry, using a key that is retrieved from a keySet iterator.
It is more efficient to use an iterator on the entrySet of the Hashtable, to avoid the Map.get(key) lookup.
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/013e9159
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/013e9159
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/013e9159
Branch: refs/heads/1.9.x
Commit: 013e9159e927cf96493a5f8577cfd2807cb045c8
Parents: c141ef4
Author: Kui LIU <br...@gmail.com>
Authored: Wed Oct 11 14:18:19 2017 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Fri Oct 13 08:42:41 2017 +0200
----------------------------------------------------------------------
src/main/org/apache/tools/ant/filters/ReplaceTokens.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/013e9159/src/main/org/apache/tools/ant/filters/ReplaceTokens.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/ReplaceTokens.java b/src/main/org/apache/tools/ant/filters/ReplaceTokens.java
index 74da64a..bcbc312 100644
--- a/src/main/org/apache/tools/ant/filters/ReplaceTokens.java
+++ b/src/main/org/apache/tools/ant/filters/ReplaceTokens.java
@@ -23,6 +23,7 @@ import java.io.InputStream;
import java.io.Reader;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Map;
import java.util.Properties;
import java.util.SortedMap;
import java.util.TreeMap;
@@ -116,8 +117,8 @@ public final class ReplaceTokens
if (!resolvedTokensBuilt) {
// build the resolved tokens tree map.
- for (String key : hash.keySet()) {
- resolvedTokens.put(beginToken + key + endToken, hash.get(key));
+ for (Map.Entry<String, String> entry : hash.entrySet()) {
+ resolvedTokens.put(beginToken + entry.getKey() + endToken, entry.getValue());
}
resolvedTokensBuilt = true;
}