rust: less set lookups in AncestorsIterator

Authored by gracinet.

Description

rust: less set lookups in AncestorsIterator

This uses the boolean return of HashSet::insert() to factor
pairs of contains()/insert() into a single insert()

On the mozilla-central repository (450k changesets), I get about a bit more
than 10% better medians in perfancestors (taking the mean of three runs)

Best run for parent changeset:

! wall 0.106474 comb 0.110000 user 0.110000 sys 0.000000 (median of 93)

Best run for this changeset:

! wall 0.093191 comb 0.090000 user 0.090000 sys 0.000000 (median of 100)

Differential Revision: https://phab.mercurial-scm.org/D5942

Details

Committed
gracinetFeb 4 2019, 5:39 AM
Differential Revision
D5942: rust: less set lookups in AncestorsIterator
Parents
rHG9de6c4f61608: obsutil: don't assume leftctx and rightctx repo as same
Branches
Unknown
Tags
Unknown