Mercurial > jhg
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