Network performance problems when pulling and cloning from HTTP server
Angel Ezquerra
angel.ezquerra at gmail.com
Mon Nov 26 08:06:25 UTC 2012
On Sat, Nov 24, 2012 at 6:44 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Angel Ezquerra <ezquerra <at> gmail.com> writes:
>>
>> I did ran "hg bundle --all --profile foo.bundle" three times. The
>> second and third times I also added --time:
>>
>> C:\mercurial_tests\tmp_bigfiles_not_large>hg bundle --all --profile foo.bundle
>> 2 changesets found
>> CallCount Recursive Total(ms) Inline(ms) module:lineno(function)
>> 26 0 85.1904 79.0038
>> <mercurial\util.pyo>:863(read)
>
> Here is a hypothesis: a quick look at chunkbuffer.read() in mercurial.util
> seems to show that it uses repeated concatenating to a str object (the `buf`
> variable), which is known to be quadratic under Windows. So if you happen
> to request a big chunk of data from that function, you may indeed consume
> a lot of CPU time.
>
> That's assuming the read() at line 863 in your Mercurial version is indeed
> chunkbuffer.read().
>
> My two cents.
>
> Regards
>
> Antoine.
Thank you Antoine,
I just checked and that is indeed the case (i.e. the read() at line
863 on my mercurial/util.py file is chunkbuffer.read()).
Cheers,
Angel
More information about the Mercurial
mailing list