##// END OF EJS Templates
unbundle: free temporary objects after use...
unbundle: free temporary objects after use This reduces peak RSS for larger unbundle operations by ~30 Bytes per changeset on AMD64. This can't be a direct delete for Python 2.7, so reset the object instead and leave a comment. The efilesset object can't be deleted as it is referenced by the local onchangelog function and Python 2.7 rejects a delete on the existance of a nested scope. Differential Revision: https://phab.mercurial-scm.org/D9153

File last commit:

r44837:60bc043d stable
r46321:44d84b72 default
Show More
test-issue4074.t
29 lines | 539 B | text/troff | Tads3Lexer
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 #require no-pure
A script to generate nasty diff worst-case scenarios:
$ cat > s.py <<EOF
> import random
Pulkit Goyal
py3: use range instead of xrange in tests/test-issue4074.t...
r36305 > for x in range(100000):
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 > print
> if random.randint(0, 100) >= 50:
> x += 1
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print(hex(x))
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 > EOF
$ hg init a
$ cd a
Check in a big file:
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../s.py > a
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 $ hg ci -qAm0
Modify it:
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../s.py > a
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014
Time a check-in, should never take more than 10 seconds user time:
test: pin the number of CPU for issue4074 tests...
r44837 $ hg ci --time -m1 --config worker.enabled=no
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 time: real .* secs .user [0-9][.].* sys .* (re)