Mercurial > hg-stable
view tests/test-issue4074.t @ 48311:6d69e83e6b6e
rhg: more efficient `HgPath::join`
This commit makes `HgPath::join` slightly more efficient
by avoiding one copy.
It also avoids a particularly inefficient (quadratic) use of
`HgPath::join` by using a new mutating function `HgPathBuf::push` instead.
The name for `HgPathBuf::push` is chosen by analogy to `PathBuf::push`.
Differential Revision: https://phab.mercurial-scm.org/D11721
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Tue, 26 Oct 2021 19:47:30 +0100 |
parents | 60bc043d7df7 |
children |
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 --config worker.enabled=no time: real .* secs .user [0-9][.].* sys .* (re)