Multithreading processing?

Matt Mackall mpm at selenic.com
Thu Apr 22 13:01:34 CDT 2010


On Wed, 2010-04-21 at 23:08 -0700, Vadim Chekan wrote:
> Hi all,
> I'm new to hg and one of the things I like about it is that it is
> written in high level language.
> I wonder either hg can exploit high level language benefits to
> outperform the other :) version system because it would be easier to
> write highly parallel code in python then in bare C.
> Are there any important cpu-intense tasks which algorithms can be
> easily parallelized?

Yes, lots:

commit and checkout are parallel at the file level

reconstructing revisions can be made parallel over windows on a large
file

hashing/compression/decompression can be done in pipeline with delta
generation / reconstruction

the wire protocol pipeline could run different parts of its stack on
different threads

diff generation can be parallelized at the file level

status can be parallelized at the directory level


..but in practice, there's not much in Mercurial that's heavily
CPU-bound.

-- 
http://selenic.com : development and support for Mercurial and Linux




More information about the Mercurial mailing list