Mercurial > hg
view tests/test-issue4074.t @ 43786:421ea5772039
copies: split the combination of the copies mapping in its own function
In some case, this part take up to 95% of the copy tracing that take about a
hundred second. This poor performance comes from the fact we keep duplciating
and merging dictionary that are mostly similar.
I want to experiment with smarter native code to do this, so I need to isolate
the function first.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 13 Nov 2019 20:42:13 +0100 |
parents | 5abc47d4ca6b |
children | 60bc043d7df7 |
line wrap: on
line source
#require no-pure A script to generate nasty diff worst-case scenarios: $ cat > s.py <<EOF > import random > for x in range(100000): > print > if random.randint(0, 100) >= 50: > x += 1 > print(hex(x)) > EOF $ hg init a $ cd a Check in a big file: $ "$PYTHON" ../s.py > a $ hg ci -qAm0 Modify it: $ "$PYTHON" ../s.py > a Time a check-in, should never take more than 10 seconds user time: $ hg ci --time -m1 time: real .* secs .user [0-9][.].* sys .* (re)