On data structures and parallelism
- From
- Heikki Orsila <shdl@zakalwe.fi>
- Date
- May 17, 2009, 15:23 UTC
- Message-ID
- <20090517152335.GC11543@zakalwe.fi>
There was an interesting discussion at
http://realworldtech.com/forums/index.cfm?action=detail&id=98909&threadid=98430&roomid=2
that involves DAGs and decompression in Git. The problem is achieving parallelism. The following comment was made:
"And is it possible to store the block pointers from one object to another in uncompressed form?"
Is there a case in Git where an "object" could store SHA1 in uncompressed format, allowing prefetching the next object in chain before uncompressing the current object? Prefetching could increase parallelism (and speedup) in some cases.
A quick glance at Git's source code showed that commit objects are compressed. Having even a single parent SHA1 in uncompressed format would allow some prefetching. All but perhaps a few objects contain at least one parent SHA1 :-)
-- Heikki Orsila heikki.orsila@iki.fi http://www.iki.fi/shd