Fri, 28 Dec 2018 03:28:02 +0100 discovery: move common heads computation inside partialdiscovery object
Boris Feld <boris.feld@octobus.net> [Fri, 28 Dec 2018 03:28:02 +0100] rev 41116
discovery: move common heads computation inside partialdiscovery object This remove one of the private attribute access. In additions, head tracking and computation is a typical operation we can speed up using Rust.
Fri, 28 Dec 2018 03:14:34 +0100 discovery: introduce a partialdiscovery object
Boris Feld <boris.feld@octobus.net> [Fri, 28 Dec 2018 03:14:34 +0100] rev 41115
discovery: introduce a partialdiscovery object This object will ultimately gather the data about common, undecided and missing revs in a single place and deal with most graph related computations. The goal is both to clarify the algorithm and to help provides a simple and clear API that can be reimplemented in Rust. For now, we only moved the `common` set in the object. In this commit, some direct access to the "private" `disco._common` attribute persist. They have not been removed yet because we won't need to expose a full API identical to `incrementalmissingancestors` and it seems simpler to access the attribute directly until the replacement is in place.
Fri, 14 Dec 2018 12:01:15 +0100 discovery: move handling of sampling special case inside sampling function
Boris Feld <boris.feld@octobus.net> [Fri, 14 Dec 2018 12:01:15 +0100] rev 41114
discovery: move handling of sampling special case inside sampling function The handling of cases where the number of revisions to sample is smaller than the sample size can be moved with the sample function themselves. This simplifies main logic, preparing a coming refactoring.
Fri, 04 Jan 2019 17:49:59 +0100 discovery: minor fix to some conditionals
Boris Feld <boris.feld@octobus.net> [Fri, 04 Jan 2019 17:49:59 +0100] rev 41113
discovery: minor fix to some conditionals Since `size` is the upper limit of the sample, we should include it in the check. Otherwize the `more` variable will be zero and the sampling will be useless
Thu, 20 Dec 2018 10:16:24 +0100 delta: reuse _findsnapshot call from previous stage
Boris Feld <boris.feld@octobus.net> [Thu, 20 Dec 2018 10:16:24 +0100] rev 41112
delta: reuse _findsnapshot call from previous stage Two different stage of the sparse-revlog logic needs the _findsnapshot data. To avoid recomputing it twice, make it possible to reuse the first computation in the second step. example affected manifest write before: 0.067141s after: 0.064252s (-5%) (total gain since start of series: 95%)
Thu, 20 Dec 2018 10:15:20 +0100 delta: have a native implementation of _findsnapshot
Boris Feld <boris.feld@octobus.net> [Thu, 20 Dec 2018 10:15:20 +0100] rev 41111
delta: have a native implementation of _findsnapshot The function might traverse a lot of revision, a native implementation get significantly faster. example affected manifest write before: 0.114989 after: 0.067141 (-42%)
Sun, 23 Dec 2018 12:39:20 +0900 transaction: do not overwrite atomic-temp files on error
Yuya Nishihara <yuya@tcha.org> [Sun, 23 Dec 2018 12:39:20 +0900] rev 41110
transaction: do not overwrite atomic-temp files on error Even though the original files can be restored from the backup, it should be better to not write back a temporary file if we know it can be corrupted.
Thu, 03 Jan 2019 10:13:34 -0800 help: fix typo
Ludovic Chabant <ludovic@chabant.com> [Thu, 03 Jan 2019 10:13:34 -0800] rev 41109
help: fix typo
Tue, 18 Dec 2018 22:23:48 +0900 rust: use 'impl Trait' in method argument of AncestorsIterator
Yuya Nishihara <yuya@tcha.org> [Tue, 18 Dec 2018 22:23:48 +0900] rev 41108
rust: use 'impl Trait' in method argument of AncestorsIterator I just didn't know it's stabilized. Let's switch to new convenient syntax. Differential Revision: https://phab.mercurial-scm.org/D5451
Tue, 18 Dec 2018 22:12:16 +0900 rust: use .rev() for reverse range
Yuya Nishihara <yuya@tcha.org> [Tue, 18 Dec 2018 22:12:16 +0900] rev 41107
rust: use .rev() for reverse range Differential Revision: https://phab.mercurial-scm.org/D5450
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip