Mercurial > evolve
changeset 2330:d72c8c1f09e2
obscache: document a possible way forward to skipping obsstore parsing
We document a possibly viable idea for updating the cache on new revs without
having to fully parse the obsstore.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 04 May 2017 14:02:30 +0200 |
parents | 3bb8382fc4cb |
children | 77c184c80e3e |
files | hgext3rd/evolve/obscache.py |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/obscache.py Wed May 03 23:07:01 2017 +0200 +++ b/hgext3rd/evolve/obscache.py Thu May 04 14:02:30 2017 +0200 @@ -305,6 +305,13 @@ imagine using various optimisation (eg: another cache, network exchange, etc). + A possible approach to this is to build a set of all node used as + precursors in `obsstore._obscandidate`. If markers are not loaded yet, + we could initialize it by doing a quick scan through the obsstore data + and filling a (pre-sized) set. Doing so would be much faster than + parsing all the obsmarkers since we would access less data, not create + any object beside the nodes and not have to decode any complex data. + For now we stick to the simpler approach of paying the performance cost on new changesets. """