comparison design.txt @ 129:645829962785

core.Cset renamed to HgChangeset; repo.Changeset moved into HgChangelog
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 16 Feb 2011 20:32:29 +0100
parents 44b97930570c
children aa1629f36482
comparison
equal deleted inserted replaced
128:44b97930570c 129:645829962785
42 DataAccess - collect debug info (buffer misses, file size/total read operations) to find out better strategy to buffer size detection. Compare performance. 42 DataAccess - collect debug info (buffer misses, file size/total read operations) to find out better strategy to buffer size detection. Compare performance.
43 43
44 Strip off metadata from beg of the stream - DataAccess (with rebase/moveBaseOffset(int)) would be handy 44 Strip off metadata from beg of the stream - DataAccess (with rebase/moveBaseOffset(int)) would be handy
45 Parameterize StatusCollector to produce copy only when needed. And HgDataFile.metadata perhaps should be moved to cacheable place? 45 Parameterize StatusCollector to produce copy only when needed. And HgDataFile.metadata perhaps should be moved to cacheable place?
46 46
47 RevisionMap to replace TreeMap<Integer, ?>
48
49 Status operation from GUI - guess, usually on a file/subfolder, hence API should allow for starting path (unlike cmdline, seems useless to implement include/exclide patterns - GUI users hardly enter them, ever) 47 Status operation from GUI - guess, usually on a file/subfolder, hence API should allow for starting path (unlike cmdline, seems useless to implement include/exclide patterns - GUI users hardly enter them, ever)
50 -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir? 48 -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir?
51 49
52 ? Can I use fncache (names from it - perhaps, would help for Mac issues Alex mentioned) 50 ? Can I use fncache (names from it - perhaps, would help for Mac issues Alex mentioned)
53 ? Does fncache lists both .i and .d (iow, is it true hashed <long name>.d is different from hashed <long name>.i) 51 ? Does fncache lists both .i and .d (iow, is it true hashed <long name>.d is different from hashed <long name>.i)
74 72
75 File access: 73 File access:
76 * NIO and mapped files - should be fast. Although seems to give less control on mem usage. 74 * NIO and mapped files - should be fast. Although seems to give less control on mem usage.
77 * Regular InputStreams and chunked stream on top - allocate List<byte[]>, each (but last) chunk of fixed size (depending on initial file size) 75 * Regular InputStreams and chunked stream on top - allocate List<byte[]>, each (but last) chunk of fixed size (depending on initial file size)
78 76
77
78 * API
79 + rename in .core Cset -> HgChangeset,
80 + rename in .repo Changeset to HgChangelog.Changeset, Changeset.Inspector -> HgChangelog.Inspector
81 - CommandContext
82 - Data access - not bytes, but ByteChannel
83 - HgRepository constants (TIP, BAD, WC) to HgRevisions enum
84 - RevisionMap to replace TreeMap<Integer, ?>
85
79 <<<<< 86 <<<<<
80 87
81 Tests: 88 Tests:
82 DataAccess - readBytes(length > memBufferSize, length*2 > memBufferSize) - to check impl is capable to read huge chunks of data, regardless of own buffer size 89 DataAccess - readBytes(length > memBufferSize, length*2 > memBufferSize) - to check impl is capable to read huge chunks of data, regardless of own buffer size
83 90
84 ExecHelper('cmd', OutputParser()).run(). StatusOutputParser, LogOutputParser extends OutputParser. construct java result similar to that of cmd, compare results 91 ExecHelper('cmd', OutputParser()).run(). StatusOutputParser, LogOutputParser extends OutputParser. construct java result similar to that of cmd, compare results
92