| Age | Commit message (Collapse) | Author |
|
|
|
in progress
|
|
can do much more than we can ( and faster assumably ), the .new method is used to create new index instances from up to 3 trees.
Implemented multi-tree traversal to facilitate building a stage list more efficiently ( although I am not sure whether it could be faster to use a dictionary together with some intensive lookup ), including test
Added performance to learn how fast certain operations are, and whether one should be preferred over another
|
|
IO will only be done when required. A possible disadvantage though is that time is spent on compressing the trees, although only the raw data and their shas would theoretically be needed. On the other hand, compressing their data uses less memory. An optimal implementation would just sha the data, check for existance, and compress it to write it to the database right away. This would mean more specialized code though, introducing redundancy. If IStreams would know whether they contain compressed or uncompressed data, and if there was a method to get a sha from data, this would work nicely in the existing framework though
|
|
|
|
correctly, a test to explicitly compare the git version with the python implementation is still missing
Tree and Index internally use 20 byte shas, converting them only as needed to reduce memory footprint and processing time
objects: started own 'fun' module containing the most important tree functions, more are likely to be added soon
|
|
faster as it removes one level of indirection, and makes the main file smaller, improving maintainability
|
|
|
|
information to just the stage ( just to be closer to the git-original )
|
|
python version is about as fast, but could support multithreading using async
|
|
gitdb as well
|
|
is actually more efficient than the previous implementation
Index now locks its file for reading, and properly uses LockedFD when writing
|
|
|
|
reduce the file size as much as I would have liked, but certainly is a start for further 'outsourcing'
|