[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] Patch: use StringBuilder for reading/writing property files
From: |
Anthony Green |
Subject: |
[cp-patches] Patch: use StringBuilder for reading/writing property files |
Date: |
Wed, 19 Oct 2005 12:24:30 -0700 |
Synchronization often shows up near the very top of gcj-compiled
benchmarks. It turns out that, for benchmarks I've run, ~50% of the
synchronization calls come from reading property files with
StringBuffer. This should all go away if we use StringBuilder instead.
Ok?
2005-10-19 Anthony Green <address@hidden>
* java/util/Properties.java (load, store, formatForOutput): Use
StringBuilder instead of StringBuffer.
Index: java/util/Properties.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/util/Properties.java,v
retrieving revision 1.33
diff -u -r1.33 Properties.java
--- java/util/Properties.java 16 Oct 2005 23:25:56 -0000 1.33
+++ java/util/Properties.java 19 Oct 2005 19:17:18 -0000
@@ -209,7 +209,7 @@
// The characters up to the next Whitespace, ':', or '='
// describe the key. But look for escape sequences.
- StringBuffer key = new StringBuffer();
+ StringBuilder key = new StringBuilder();
while (pos < line.length()
&& ! Character.isWhitespace(c = line.charAt(pos++))
&& c != '=' && c != ':')
@@ -275,7 +275,7 @@
pos++;
}
- StringBuffer element = new StringBuffer(line.length() - pos);
+ StringBuilder element = new StringBuilder(line.length() - pos);
while (pos < line.length())
{
c = line.charAt(pos++);
@@ -395,7 +395,7 @@
Iterator iter = entrySet ().iterator ();
int i = size ();
- StringBuffer s = new StringBuffer (); // Reuse the same buffer.
+ StringBuilder s = new StringBuilder (); // Reuse the same buffer.
while (--i >= 0)
{
Map.Entry entry = (Map.Entry) iter.next ();
@@ -538,7 +538,7 @@
* leading spaces must be escaped for the value
* @see #store(OutputStream, String)
*/
- private void formatForOutput(String str, StringBuffer buffer, boolean key)
+ private void formatForOutput(String str, StringBuilder buffer, boolean key)
{
if (key)
{
- [cp-patches] Patch: use StringBuilder for reading/writing property files,
Anthony Green <=
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, David Daney, 2005/10/19
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Anthony Green, 2005/10/19
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Anthony Green, 2005/10/21
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Tom Tromey, 2005/10/21
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Mark Wielaard, 2005/10/28
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Anthony Green, 2005/10/28
- Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Mark Wielaard, 2005/10/30
Re: [cp-patches] Patch: use StringBuilder for reading/writing property files, Andrew John Hughes, 2005/10/26