The unpac monorepo manager self-hosting as a monorepo using unpac

Merge pull request #125 from paulpatault/check-path-efficiency

"Free" improvement of path-check efficiency

authored by

Jean-Christophe Filliatre and committed by
GitHub
77baee34 1129b9c5

+8 -6
+2
.gitignore
··· 4 4 /www/index.fr.html 5 5 /www/version.prehtml 6 6 _build 7 + 8 + _opam
+2
CHANGES.md
··· 1 1 2 + - [Path.Check]: improved efficiency with a better use of the cache 3 + (#125 by Paul Patault) 2 4 - [Cycles.Johnson]: Enumerate elementary cycles (Johnson, 1975) 3 5 (contributed by Timothy Bourke) 4 6 - [Traverse.Bfs]: new function `{fold,iter}_component_dist` to
+4 -6
src/path.ml
··· 337 337 end else begin 338 338 let v = Queue.pop q in 339 339 HVV.add pc.cache (v1, v) true; 340 - if G.V.compare v v2 = 0 then 341 - true 342 - else begin 343 - G.iter_succ push pc.graph v; 344 - loop () 345 - end 340 + G.V.compare v v2 = 0 || 341 + match HVV.find_opt pc.cache (v, v2) with 342 + | Some true -> HVV.add pc.cache (v1, v2) true; true 343 + | _ -> G.iter_succ push pc.graph v; loop () 346 344 end 347 345 in 348 346 push v1;