I assigned this directly to myself, so I don't think Bugzilla will
send a copy to the list.

--Nathan


-------- Original Message --------
Subject: [Bug 483] New: webrev permission display change #372 has poor 
performance
Date: Tue, 22 Apr 2008 20:27:23 -0700 (PDT)
From: bugzilla-dae...@np.grommit.com
To: nathan.bush at sun.com

http://bugs.grommit.com/show_bug.cgi?id=483

            Summary: webrev permission display change #372 has poor
                     performance
            Product: SCM Migration
            Version: unspecified
           Platform: All
         OS/Version: Solaris 11/Nevada
             Status: NEW
           Severity: normal
           Priority: P3
          Component: webrev
         AssignedTo: nathan.bush at sun.com
         ReportedBy: nathan.bush at sun.com


My original implementation of:

372 webrev does not display executable bit change

has very poor performance against Mercurial repositories,
for the following reasons:

1) It uses "hg diff -g" to get permission information, and in
    this case the computations to display the actual file diff
    are wasted overhead.

2) The most common case in webrevs is a rename or edit that does
    not change file modes, but this case is handled last.

3) To get parent revision file permissions in case (2) above, it
    searches the full repository manifest for each file.  This means
    that the total execution time for this part of the script increases
    according to the product (files in repo) * (files in webrev).

The script can be made much faster, especially for large webrevs, by:

1) Searching the parent revision manifest only once per invocation,
    and creating a cache of the relevant subset.

2) Fetching child revision permissions directly from the filesystem.


-- 
Configure bugmail: http://bugs.grommit.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
You are the assignee for the bug, or are watching the assignee.

Reply via email to