Mercurial > public > mercurial-scm > hg
diff mercurial/streamclone.py @ 52926:34fa51c25112
stream-clone-v2: disable the garbage collector during consumption
As often with code that creates a lot of temporary small container (e.g.
tuple), disable the gc yield a visible speedup. This this code does not
create reference cycle this should not result in any increased memory usage.
### benchmark.name = hg.perf.exchange.stream.consume
# bin-env-vars.hg.flavor = default
# bin-env-vars.hg.py-re2-module = default
# benchmark.variants.memory-target = default
# benchmark.variants.num-writer = default
# benchmark.variants.parallel-processing = yes
# benchmark.variants.progress = no
# benchmark.variants.read-from-memory = yes
# benchmark.variants.version = v2
## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog
prev-change: 0.234764 ~~~~~
this-change: 0.233780
## data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog
prev-change: 12.037305 ~~~~~
this-change: 11.754377 (-2.35%, -0.28)
## data-env-vars.name = netbsd-xsrc-all-2024-09-19-zstd-sparse-revlog
prev-change: 4.763710 ~~~~~
this-change: 4.735520
## data-env-vars.name = netbsd-xsrc-draft-2024-09-19-zstd-sparse-revlog
prev-change: 4.816293 ~~~~~
this-change: 4.728870 (-1.82%, -0.09)
## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog
prev-change: 2.801525 ~~~~~
this-change: 2.783987
## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog
prev-change: 6.611609 ~~~~~
this-change: 6.532561 (-1.20%, -0.08)
## data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog
prev-change: 47.733498 ~~~~~
this-change: 47.154728 (-1.21%, -0.58)
## data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog
prev-change: 48.270778 ~~~~~
this-change: 47.166569 (-2.29%, -1.10)
## data-env-vars.name = mozilla-try-2024-03-26-zstd-sparse-revlog
# benchmark.variants.read-from-memory = no
prev-change: 115.240169 ~~~~~
this-change: 113.696529 (-1.34%, -1.54)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 29 Nov 2024 22:22:54 +0100 |
parents | 119cddd02b8c |
children | 7fc882f7fada |
line wrap: on
line diff
--- a/mercurial/streamclone.py Wed Feb 05 21:59:32 2025 +0100 +++ b/mercurial/streamclone.py Fri Nov 29 22:22:54 2024 +0100 @@ -1625,7 +1625,8 @@ % b', '.join(sorted(missingreqs)) ) - consumev2(repo, fp, filecount, filesize) + with util.nogc(): + consumev2(repo, fp, filecount, filesize) repo.requirements = new_stream_clone_requirements( repo.requirements,