wrote on Thu, 7 Jan 2010 21:45:26:
> And I would like to ask one more lay man question like we can create a
> and populate data into that in N number of ways. In our TSVN
> architecture we
> are following many abstractions and, data are being passed through many
> batons. whats the advantage in having these many abstraction. (I can just
> write data into file using simple open, write command or using some hash
> tables and functions?? ) There *must* be some advantage in following this
> architecture ? what kind of advantage we get in having this kind of (
> probably the best I have seen ) cache architecture ?
It's all due to requirements. The log cache becomes particularly
useful with large repositories like Apache.org. For some operations
like showing the rev graph the full history must be cached.
The svn log -v --xml output is about 1GB for these repos.
Req 1: Cache access must be faster than repo access
-> cache must load in 1 second or less
-> about 100MB max can be loaded in that time
Req 2: Some operations require reading all data.
-> Complete history must be loaded
Therefore, data must be normalized, i.e. duplicate info must be
removed as much as possible - which is what the container layer
does. Net effect is a 3 to 4 times reduction in size at runtime.
The streams layer give another factor of 3.
Execution overhead was the main concern during the implementation.
That is why some data structures and access methods look unusual.
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-01-09 10:03:03 CET