[Bug 4002] New: hg log FILE is slow

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Thu Jul 25 12:16:12 CDT 2013


http://bz.selenic.com/show_bug.cgi?id=4002

          Priority: normal
            Bug ID: 4002
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: hg log FILE is slow
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: jordigh at octave.org
          Hardware: PC
            Status: UNCONFIRMED
           Version: 2.6.3
         Component: Mercurial
           Product: Mercurial

Created attachment 1736
  --> http://bz.selenic.com/attachment.cgi?id=1736&action=edit
Profiler output for why "hg log somefile" is slow.

So hg log SOMEFILE is where revlogs are supposed to outperform git. Consider
the following two repos, the latter an hg conversion from the original git:

    http://git.savannah.gnu.org/gitweb/?p=gnulib.git
    http://hg.savannah.gnu.org/hgweb/octave/gnulib-hg/

Now run "time git log ChangeLog > foo" and "time hg log ChangeLog > foo". Hg is
way slower than git for this operation.

Attached is gprof2prof output. The file names and line numbers are for hg
revision19501:725507cd5216. The format is explained here:

    http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#Output

There are two main sources of slowness. The first is repoview. The other is 
changeset_printer._show. Indeed, doing "hg log --quiet ChangeLog > foo" cuts
down time by a factor of four on my machine.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list