[Bug 5947] New: ui.tweakdefaults undermines fsmonitor via command.status.terse=u

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Sat Jul 28 02:16:50 UTC 2018


https://bz.mercurial-scm.org/show_bug.cgi?id=5947

            Bug ID: 5947
           Summary: ui.tweakdefaults undermines fsmonitor via
                    command.status.terse=u
           Product: Mercurial
           Version: default branch
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: perfregression
          Severity: bug
          Priority: urgent
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: gregory.szorc at gmail.com
                CC: mercurial-devel at mercurial-scm.org

https://www.mercurial-scm.org/repo/hg/rev/6acf41bb8d40 added
commands.status.terse=u to tweakdefaults.

On large repositories (like Firefox), this has significant performance
implications and completely negates any speedups from fsmonitor:

HGRCPATH= hg --time status
time: real 1.340 secs (user 0.960+0.000 sys 0.380+0.000)

HGRCPATH= hg --time --config commands.status.terse=u status
time: real 2.420 secs (user 2.070+0.000 sys 0.360+0.000)

HGRCPATH= hg --time --config extensions.fsmonitor= status
time: real 0.080 secs (user 0.050+0.010 sys 0.040+0.000)

HGRCPATH= ~/src/hg/hg --time --config extensions.fsmonitor= --config
commands.status.terse=u status
time: real 2.470 secs (user 2.080+0.000 sys 0.390+0.000)

(This is on Linux on my i7-6700K with current @.)

I'm marking this as a perf regression because ui.tweakdefaults behaved
reasonably in 3.6. While I really like the terse status feature, we've been
steering people towards ui.tweakdefaults=true at Mozilla and the loss of
fsmonitor will definitely be felt. I'd strongly prefer we fix the performance
regression or not enable commands.status.terse=u before we ship 3.7.

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


More information about the Mercurial-devel mailing list