obscache: document a possible way forward to skipping obsstore parsing
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 04 May 2017 14:02:30 +0200
changeset 2330 d72c8c1f09e2
parent 2329 3bb8382fc4cb
child 2332 77c184c80e3e
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.
hgext3rd/evolve/obscache.py
--- 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.
         """