# HG changeset patch # User Artem Tikhomirov # Date 1313525295 -7200 # Node ID e5776067b3b86bb0375e92e8d585041550997915 # Parent f39fb6b3cc767c918a2b9042dc9983b3fcd037da Reduce number of objects instantiated on revlog read diff -r f39fb6b3cc76 -r e5776067b3b8 src/org/tmatesoft/hg/internal/RevlogStream.java --- a/src/org/tmatesoft/hg/internal/RevlogStream.java Tue Aug 16 22:07:16 2011 +0200 +++ b/src/org/tmatesoft/hg/internal/RevlogStream.java Tue Aug 16 22:08:15 2011 +0200 @@ -22,7 +22,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; import org.tmatesoft.hg.core.HgBadStateException; @@ -394,6 +393,8 @@ } daIndex.seek(getIndexOffsetInt(i)); + // + final ArrayList patches = new ArrayList(); for (; i <= end; i++ ) { if (inline && needData) { @@ -443,7 +444,6 @@ // XXX if (patchToPrevious) { // this is a patch - LinkedList patches = new LinkedList(); while (!userDataAccess.isEmpty()) { PatchRecord pr = PatchRecord.read(userDataAccess); // System.out.printf("PatchRecord:%d %d %d\n", pr.start, pr.end, pr.len); @@ -452,6 +452,7 @@ userDataAccess.done(); // byte[] userData = apply(lastUserData, actualLen, patches); + patches.clear(); userDataAccess = new ByteArrayDataAccess(userData); } } else {