( )⚙ D5943 rust: less set lookups in MissingAncestors

This is an archive of the discontinued Mercurial Phabricator instance.

rust: less set lookups in MissingAncestors
ClosedPublic

Authored by gracinet on Feb 12 2019, 7:02 AM.

Details

Summary

using the return values of HashSet::remove(), we can factor
pairs of contains()/remove() into a single remove().

On a perfdiscovery run done on the PyPy repository, prepared
with contrib/discovery-helper.sh 50 100, I do get a modest improvement
with this (mean of medians of three runs is better by 2%)

Sample readings, before this change:

! wall 0.175609 comb 0.180000 user 0.180000 sys 0.000000 (median of 58)

With this change:

! wall 0.171662 comb 0.180000 user 0.170000 sys 0.010000 (median of 60)

Diff Detail

Repository
rHG Mercurial
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

gracinet created this revision.Feb 12 2019, 7:02 AM
kevincox accepted this revision.Feb 12 2019, 9:42 AM
This revision was automatically updated to reflect the committed changes.