Mercurial > hg
diff mercurial/streamclone.py @ 51548:1b17eeba9deb
stream-clone: stop getting the file size of all file in v3
The point of v3 is to do less work in the locked section. It was currently not
the case.
This significantly boost performance. The following number comes from a large
private repository using perf::stream-locked-section:
base-line: 35.03 seconds
this-change: 24.50 seconds (-30%)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 26 Mar 2024 11:24:20 +0000 |
parents | d718eddf01d9 |
children | 463e63aa547c |
line wrap: on
line diff
--- a/mercurial/streamclone.py Tue Mar 26 18:55:40 2024 +0000 +++ b/mercurial/streamclone.py Tue Mar 26 11:24:20 2024 +0000 @@ -723,8 +723,8 @@ # create a copy of volatile files for k, vfs, e in entries: for f in e.files(): - f.file_size(vfs) # record the expected size under lock if f.is_volatile: + f.file_size(vfs) # record the expected size under lock copy(vfs.join(f.unencoded_path)) # the first yield release the lock on the repository yield None