##// END OF EJS Templates
rust-dirstatemap: add `NonNormalEntries` class...
rust-dirstatemap: add `NonNormalEntries` class This fix introduces the same encapsulation as the `copymap`. There is no easy way of doing this any better for now. `hg up -r null && time HGRCPATH= HGMODULEPOLICY=rust+c hg up tip` on Mozilla Central, (not super recent, but it doesn't matter): Before: 7:44,08 total After: 1:03,23 total Pretty brutal regression! This is a graft on stable of cf1f8660e568 Differential Revision: https://phab.mercurial-scm.org/D8111

File last commit:

r39743:5abc47d4 default
r44836:71e13cfd stable
Show More
test-issue4074.t
29 lines | 512 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:
$ hg ci --time -m1
time: real .* secs .user [0-9][.].* sys .* (re)