gracinet added a comment.
Nobody has reacted yet to @martinvonz call for other opinions, can someone look at it? Let me restate that the series makes a good difference when the sampling part of the discovery process actually kicks in, and it does that roughly three times faster. In other cases, none of the new Rust code is actually executed, the main difference lies in data interchange at the Rust - Python interface. (recall that all performance comparisons are against a Rust-enhanced Mercurial, in particular with the Rust `MissingAncestors` object) The size of the undecided set can behave in a chaotic manner, especially in discoveries that involve continuous integration repositories with lots of merging and branching. The mozilla-unified / mozilla-try is but an example of that. Yes, we've seen discoveries go havoc at our customer's, with the size of the undecided set exploding. What the series does performance-wise is help keep these cases to an acceptable time. @martinvonz: I understand your concern about double maintenance. Let me reassure you that we are willing to maintain that, and it will cost us less than tracking down the perfect real-life example. About the 6.8%, that's a case where the undecided set is small, it's there to demonstrate that despite the focus on the sampling is still a bit faster on other code paths. This series has also potential for : - further performance improvements if that's needed in the future; the obvious candidate would be a more aggressive integration with the `MissingAncestors` object, especially in `addcommons()` - pure Rust push/pull machinery, such as fastpaths doing the discovery entirely in Rust and bailing out if there's nothing to actually send or receive, smart status able to give discovery information in near realtime etc. REPOSITORY rHG Mercurial CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D6430/new/ REVISION DETAIL https://phab.mercurial-scm.org/D6430 To: gracinet, #hg-reviewers Cc: martinvonz, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel