Mercurial > hg4j
diff src/org/tmatesoft/hg/internal/RevlogStream.java @ 264:6bb5e7ed051a
Optimize memory usage (reduce number of objects instantiated) when pooling file names and nodeids during manifest parsing
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 19 Aug 2011 03:36:25 +0200 |
parents | 31f67be94e71 |
children | 35125450c804 |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/internal/RevlogStream.java Thu Aug 18 18:06:44 2011 +0200 +++ b/src/org/tmatesoft/hg/internal/RevlogStream.java Fri Aug 19 03:36:25 2011 +0200 @@ -339,7 +339,7 @@ private int lastRevisionRead = BAD_REVISION; private DataAccess lastUserData; // next are to track two major bottlenecks - patch application and actual time spent in inspector -// private long applyTime, inspectorTime; +// private long applyTime, inspectorTime; // TIMING public ReaderN1(boolean needData, Inspector insp) { @@ -357,7 +357,7 @@ cb = new Lifecycle.BasicCallback(); ((Lifecycle) inspector).start(totalWork, cb, cb); } -// applyTime = inspectorTime = 0; +// applyTime = inspectorTime = 0; // TIMING } public void finish() { @@ -372,7 +372,7 @@ if (daData != null) { daData.done(); } -// System.out.printf("applyTime:%d ms, inspectorTime: %d ms\n", applyTime, inspectorTime); +// System.out.printf("applyTime:%d ms, inspectorTime: %d ms\n", applyTime, inspectorTime); // TIMING } public boolean range(int start, int end) throws IOException { @@ -468,9 +468,9 @@ // however, actual userDataAccess and lastUserData may share Inflater object, which needs to be reset // Alternatively, userDataAccess.done() above may be responsible to reset Inflater (if it's InflaterDataAccess) lastUserData.reset(); -// final long startMeasuring = System.currentTimeMillis(); +// final long startMeasuring = System.currentTimeMillis(); // TIMING byte[] userData = apply(lastUserData, actualLen, patches); -// applyTime += (System.currentTimeMillis() - startMeasuring); +// applyTime += (System.currentTimeMillis() - startMeasuring); // TIMING patches.clear(); // do not keep any reference, allow PatchRecord to be gc'd userDataAccess = new ByteArrayDataAccess(userData); } @@ -480,9 +480,9 @@ } } if (!extraReadsToBaseRev || i >= start) { -// final long startMeasuring = System.currentTimeMillis(); +// final long startMeasuring = System.currentTimeMillis(); // TIMING inspector.next(i, actualLen, baseRevision, linkRevision, parent1Revision, parent2Revision, nodeidBuf, userDataAccess); -// inspectorTime += (System.currentTimeMillis() - startMeasuring); +// inspectorTime += (System.currentTimeMillis() - startMeasuring); // TIMING } if (cb != null) { if (cb.isStopped()) {