[Top][All Lists]

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

RE: problems building feature release on windows

From: Kelly F. Hickel
Subject: RE: problems building feature release on windows
Date: Thu, 4 May 2006 07:09:54 -0500

> -----Original Message-----
> From: Larry Jones [mailto:lawrence.jones@ugs.com]
> Now that I understand your problem, I suspect I could have saved you
> the
> trouble.  The problem is almost certainly RCS_magicrev(), which is the
> function that finds the new branch number to be used.  The way it
> currently works is to just try all even numbers starting with 2 until
> it
> finds one that isn't used as a physical branch and doesn't appear in a
> magic branch tag.  Determining whether a physical branch occurs
> requires
> looking through the entire list of existing revisions, and determining
> whether a magic branch tag exists requires looking through the entire
> list of tags.  As the number of branches increases, the time required
> for this operation increases quadratically.  A reasonable solution
> would
> be to rewrite the function to run through each list once, remembering
> the highest existing branch and then incrementing to the next even
> number.

[Kelly F. Hickel] FYI (hopefully this info is useful to someone) The
actual breakdown according to Quantify (this is with cvs 1.11.21 on
windows) is (percentages below are expressed as percentages of the
callers time, and include descendants):

do_file_proc -- 99.48% (of total runtime)
  freercsnode -- 21.93%
  tag_fileproc -- 76.77%
    RCS_magicrev -- 95.13% 
      RCS_symbols -- 18.23 %
      RCS_getbranch -- 5.14 %
        walklist (func = checkmagic_proc) -- 76%

          checkmagic_proc used 39.08% of total runtime, 49.61% of that
was in strcmp.

Other interesting factoids:
RCS_magicrev is called 422 times in this test, it calls walklist
(func=checkmagic_proc) 344,393 times.

> -Larry Jones
> When I want an editorial, I'll ASK for it! -- Calvin


Kelly F. Hickel
Senior Software Architect
MQSoftware, Inc

reply via email to

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