diff design.txt @ 197:3a7696fb457c

Investigate optimization options to allow fast processing of huge repositories. Fix defect in StatusCollector that lead to wrong result comparing first revision to empty repo (-1 to 0), due to same TIP constant value
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 19 Apr 2011 03:49:29 +0200
parents 8c8e3f372fa1
children 33a7d76f067b
line wrap: on
line diff
--- a/design.txt	Mon Apr 18 18:04:24 2011 +0200
+++ b/design.txt	Tue Apr 19 03:49:29 2011 +0200
@@ -60,6 +60,7 @@
 
 ? subrepos in log, status (-S) and manifest commands
 
+? when p1 == -1, and p2 != -1, does HgStatusCollector.change() give correct result?
 
 Commands to get CommandContext where they may share various caches (e.g. StatusCollector)
 Perhaps, abstract classes for all Inspectors (i.e. StatusCollector.Inspector) for users to use as base classes to protect from change?
@@ -92,6 +93,13 @@
   + ConfigFile to strip comments from values (#)
 
 <<<<<
+Performance.
+after pooling/caching in HgStatusCollector and HgChangeset
+hg log --debug -r 0:5000 and same via Log/HgLogCommand: approx. 220 seconds vs 279 seconds. Mem. cons. 20 vs 80 mb.
+after further changes in HgStatusCollector (to read ahead 5 elements, 50 max cache, fixed bug with -1) - hg4j dumps 5000 in
+93 seconds, memory consumption about 50-56 Mb
+
+<<<<<
 
 Tests:
 DataAccess - readBytes(length > memBufferSize, length*2 > memBufferSize) - to check impl is capable to read huge chunks of data, regardless of own buffer size