Mercurial > hg-stable
comparison .hgsigs @ 27984:e60e13a86529
obsolete: fix n^2 marker computation behavior
Previously, if you ran obsolete.createmarkers with a bunch of markers that did
not have successors (like when you do a prune), it encountered a n^2 computation
behavior because the loop would read the changelog (to get ctx.parents()), then
add a marker, in a loop. Adding a marker invalidated the computehidden cache,
and reading the changelog recomputed it.
This resulted in pruning 150 commits taking 150+ seconds in a large repo.
The fix is to break the reading part of the loop to be separate from the writing
part.
author | Durham Goode <durham@fb.com> |
---|---|
date | Thu, 04 Feb 2016 15:38:04 -0800 |
parents | c58c4683e2b7 |
children | 8949d73b2e1f |
comparison
equal
deleted
inserted
replaced
27983:b7af616ca675 | 27984:e60e13a86529 |
---|