monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] slowness of simple operations like "add"


From: Georg-W. Koltermann
Subject: Re: [Monotone-devel] slowness of simple operations like "add"
Date: Mon, 14 Feb 2005 10:42:53 +0100

Am Sonntag, den 13.02.2005, 23:24 +0100 schrieb Georg-W. Koltermann:
> Hi,
> 
> with my 5.000 file project (currently only one revision in monotone) I
> noticed that even trivial operations like adding a single file using
> "monotone add <name>" can be quite slow, 30s on my machine.
> 
> I have profiling data of this operation at
> http://www.rahn-koltermann.de/files/monotone-gprof.out.bz2
> 

Hi,

well maybe it's worth while to summarize what I see in the profiling --
please note that I have very very limited experience at it.  I also
don't understand what really happens behind a method name.  So just for
discussion purposes:

     1. It seems 51% of the time is spent in calculate_base_manifest(),
        index [8] in the profiling data.  Why do we need to calculate
        the base manifest at all?  Couldn't we cache that in MT/revision
        or some other file? 
     2. Most time of the above is spent in parse_edge() [19] and
        parse_change_set() [29].  Why does that take so long when I have
        only ONE revision in the database???
     3. Then 43% of time is spent in build_addition() [15] with major
        contributions by apply_path_rearrangement() [25] and
        concatenate_rearrangements() [20].  This is an area where I
        cannot even guess what it does.

Ideally I would think that the "monotone add" could be just a quick
check in the database if the file is already present and then a write to
the work file.  But maybe I am too naive here.

--
Regards,
Georg.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]