From abaa5d87f6cf4732f8b26224cb2df607807ce660 Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Sun, 25 Jul 2004 23:33:54 +0000 Subject: [PATCH] more efficient mem alloc & usage --- core/java/src/net/i2p/crypto/AESInputStream.java | 4 ++-- core/java/src/net/i2p/stat/Rate.java | 12 +++++------- core/java/src/net/i2p/stat/RateStat.java | 15 ++++++++------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/core/java/src/net/i2p/crypto/AESInputStream.java b/core/java/src/net/i2p/crypto/AESInputStream.java index a47c142f71..5f10aec594 100644 --- a/core/java/src/net/i2p/crypto/AESInputStream.java +++ b/core/java/src/net/i2p/crypto/AESInputStream.java @@ -14,7 +14,7 @@ import java.io.ByteArrayOutputStream; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import net.i2p.I2PAppContext; @@ -61,7 +61,7 @@ public class AESInputStream extends FilterInputStream { _lastBlock = new byte[BLOCK_SIZE]; System.arraycopy(iv, 0, _lastBlock, 0, BLOCK_SIZE); _encryptedBuf = new ByteArrayOutputStream(BLOCK_SIZE); - _readyBuf = new LinkedList(); + _readyBuf = new ArrayList(1024); _cumulativePaddingStripped = 0; _eofFound = false; } diff --git a/core/java/src/net/i2p/stat/Rate.java b/core/java/src/net/i2p/stat/Rate.java index efe1574c26..c267860cff 100644 --- a/core/java/src/net/i2p/stat/Rate.java +++ b/core/java/src/net/i2p/stat/Rate.java @@ -349,8 +349,7 @@ public class Rate { } } - public void store(OutputStream out, String prefix) throws IOException { - StringBuffer buf = new StringBuffer(16*1048); + public void store(String prefix, StringBuffer buf) throws IOException { PersistenceHelper.add(buf, prefix, ".period", "Number of milliseconds in the period", _period); PersistenceHelper.add(buf, prefix, ".creationDate", "When was this rate created? (milliseconds since the epoch, GMT)", _creationDate); @@ -388,7 +387,6 @@ public class Rate { PersistenceHelper.add(buf, prefix, ".lifetimeTotalEventTime", "How many milliseconds have the events since this stat was created consumed?", _lifetimeTotalEventTime); - out.write(buf.toString().getBytes()); } /** @@ -476,11 +474,11 @@ public class Rate { rate.addData(i * 100, 20); } rate.coallesce(); - java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream(2048); + StringBuffer buf = new StringBuffer(1024); try { - rate.store(baos, "rate.test"); - byte data[] = baos.toByteArray(); - _log.error("Stored rate: size = " + data.length + "\n" + new String(data)); + rate.store("rate.test", buf); + byte data[] = buf.toString().getBytes(); + _log.error("Stored rate: size = " + data.length + "\n" + buf.toString()); Properties props = new Properties(); props.load(new java.io.ByteArrayInputStream(data)); diff --git a/core/java/src/net/i2p/stat/RateStat.java b/core/java/src/net/i2p/stat/RateStat.java index 1938a4a99c..0de1a0c758 100644 --- a/core/java/src/net/i2p/stat/RateStat.java +++ b/core/java/src/net/i2p/stat/RateStat.java @@ -110,16 +110,17 @@ public class RateStat { buf.append("# ").append(_description).append(NL); buf.append("# ").append(NL).append(NL); out.write(buf.toString().getBytes()); - buf = null; + buf.setLength(0); for (int i = 0; i < _rates.length; i++) { - StringBuffer rbuf = new StringBuffer(1024); - rbuf.append("#######").append(NL); - rbuf.append("# Period : ").append(DataHelper.formatDuration(_rates[i].getPeriod())).append(" for rate ") + buf.append("#######").append(NL); + buf.append("# Period : ").append(DataHelper.formatDuration(_rates[i].getPeriod())).append(" for rate ") .append(_groupName).append(" - ").append(_statName).append(NL); - rbuf.append(NL); - out.write(rbuf.toString().getBytes()); + buf.append(NL); + out.write(buf.toString().getBytes()); String curPrefix = prefix + "." + DataHelper.formatDuration(_rates[i].getPeriod()); - _rates[i].store(out, curPrefix); + _rates[i].store(curPrefix, buf); + out.write(buf.toString().getBytes()); + buf.setLength(0); } } -- GitLab