layout.conf: add git friendly pregenerated cache format
authorBrian Harring <ferringb@chromium.org>
Fri, 14 Oct 2011 09:40:00 +0000 (02:40 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 14 Oct 2011 23:50:20 +0000 (16:50 -0700)
commit1e8870bd45a4e2a9c43e7f112701c6ae84b0fd56
tree7111ded6176c5a8f4a2b5a39bad04b2f560608ea
parent2ed1cb53cc4158af08c22d466b15b9a9a7767212
layout.conf: add git friendly pregenerated cache format

Enabled via cache-format = md5-dict
This format is essentially just flat_hash, using md5 rather than mtime,
and dropping the path component from _eclasses_ entries.

From a speed standpoint, the md5 overhead is ~16% in comparison to mtime,
timed on a modern sandybridge; specifically, validating 29k nodes takes
~8.8s for flat_md5, while the pms norm is ~7.7s.

That said, the cache is /usable/ in places PMS is not; in those cases,
it can definitely be a win since even if the cache is partially old,
it's better than regenerating everything from scratch.
(cherry picked from commit 95ddf97e2f7e7d3f6a072604b2df5f77e9298558)

Change-Id: Ic3561369b7a8be7f86480f339ab1686fddea6dff
pym/portage/cache/flat_hash.py
pym/portage/repository/config.py