stream-clone: disable gc for the initial section for the v3 format
The number of small container created turn Python in a gc-frenzy that seriously
impact performance.
This significantly boost performance. The following number comes from a large
private repository using perf::stream-locked-section:
base-line: 35.04 seconds
prev-change: 24.51 seconds (-30%)
prev-change: 20.88 seconds (-40%)
this-change: 14.22 seconds (-60% from baseline; -31% from prev)
Create an empty repo:
$ hg init a
$ cd a
Try some commands:
$ hg log
$ hg grep wah
[1]
$ hg manifest
$ hg verify -q
Check the basic files created:
$ ls .hg
00changelog.i
cache
requires
store
wcache
Should be empty (except for the "basic" requires):
$ ls .hg/store
requires
Poke at a clone:
$ cd ..
$ hg clone a b
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd b
$ hg verify -q
$ ls .hg
00changelog.i
branch
cache
hgrc
requires
store
wcache
Should be empty (except for the "basic" requires):
$ ls .hg/store
requires
$ cd ..