stream-clone: disable gc for `_entries_walk` duration
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%)
this-change: 20.88 seconds (-40% from baseline; -15% from previous changes)
$ hg init repo
$ cd repo
$ touch foo
$ hg ci -Am 'add foo'
adding foo
$ hg up -C null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
this should be stored as a delta against rev 0
$ echo foo bar baz > foo
$ hg ci -Am 'add foo again'
adding foo
created new head
$ hg debugindex foo
rev linkrev nodeid p1-nodeid p2-nodeid
0 0 b80de5d13875 000000000000 000000000000
1 1 0376abec49b8 000000000000 000000000000
$ cd ..