Mercurial > jhg
comparison design.txt @ 198:33a7d76f067b
Performance optimization: reduce memory to keep revlog cached info
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 20 Apr 2011 05:40:14 +0200 |
parents | 3a7696fb457c |
children | 114c9fe7b643 |
comparison
equal
deleted
inserted
replaced
197:3a7696fb457c | 198:33a7d76f067b |
---|---|
97 after pooling/caching in HgStatusCollector and HgChangeset | 97 after pooling/caching in HgStatusCollector and HgChangeset |
98 hg log --debug -r 0:5000 and same via Log/HgLogCommand: approx. 220 seconds vs 279 seconds. Mem. cons. 20 vs 80 mb. | 98 hg log --debug -r 0:5000 and same via Log/HgLogCommand: approx. 220 seconds vs 279 seconds. Mem. cons. 20 vs 80 mb. |
99 after further changes in HgStatusCollector (to read ahead 5 elements, 50 max cache, fixed bug with -1) - hg4j dumps 5000 in | 99 after further changes in HgStatusCollector (to read ahead 5 elements, 50 max cache, fixed bug with -1) - hg4j dumps 5000 in |
100 93 seconds, memory consumption about 50-56 Mb | 100 93 seconds, memory consumption about 50-56 Mb |
101 | 101 |
102 IndexEntry(int offset, int baseRevision) got replaced with int[] arrays (offsets - optional) | |
103 for 69338 revisions from cpython repo 1109408 bytes reduced to 277368 bytes with the new int[] version. | |
104 I.e. total for changelog+manifest is 1,5 Mb+ gain | |
105 | |
102 <<<<< | 106 <<<<< |
103 | 107 |
104 Tests: | 108 Tests: |
105 DataAccess - readBytes(length > memBufferSize, length*2 > memBufferSize) - to check impl is capable to read huge chunks of data, regardless of own buffer size | 109 DataAccess - readBytes(length > memBufferSize, length*2 > memBufferSize) - to check impl is capable to read huge chunks of data, regardless of own buffer size |
106 | 110 |