From: Tom Tromey <tromey@redhat.com>
To: esr@thyrsus.com
Cc: emacs-devel@gnu.org
Subject: Re: Hideously slow VC status queries fixed
Date: Mon, 31 Dec 2007 12:09:59 -0700 [thread overview]
Message-ID: <m3prwmd6k8.fsf@fleche.redhat.com> (raw)
In-Reply-To: <20071231034100.GE7241@thyrsus.com> (Eric S. Raymond's message of "Sun\, 30 Dec 2007 22\:41\:00 -0500")
>>>>> "Eric" == Eric S Raymond <esr@thyrsus.com> writes:
Eric> That will do only when (a) we're in terse mode, and (b) we don't want to
Eric> see unregistered files. Otherwise we need -v.
Good point. I never remember non-terse mode... but then I haven't
been a heavy vc-dired user, due to speed :)
>> That's just an idea though. I also don't understand everything that
>> is going on in the elp results, like where all those calls to
>> vc-call-backend come from.
Eric> I'm pretty sure I know where those are. I expect to remove the line
Eric> of code that's generating them soon.
Appended is a call-graph profile, thanks to Christian Ohler.
This is pretty interesting.
Tom
Function Name Call Count Elapsed Time Average Time
=================================== ========== ============ ============
vc-registered 363 1435.5771489 3.9547579862
vc-call-backend 376 4531.5646809 12.052033726
<self or not profiled> 376 3089.8385159 8.2176556276
vc-stay-local-p 1 1422.384572 1422.384572
vc-file-setprop 238490 10.425457000 4.371...e-05
vc-sccs-registered 36 2.919531 0.0810980833
vc-default-registered 37 2.2229139999 0.0600787567
vc-hg-registered 36 0.7906200000 0.0219616666
vc-git-registered 36 0.784571 0.0217936388
vc-mcvs-registered 36 0.7820339999 0.0217231666
vc-mtn-registered 36 0.5590209999 0.0155283611
vc-bzr-registered 36 0.3502429999 0.0097289722
vc-arch-registered 36 0.347461 0.0096516944
vc-find-backend-function 6 0.070114 0.0116856666
vc-working-revision 5 0.044984 0.0089968000
vc-state 5 0.044193 0.0088386
vc-file-getprop 34 0.0002640000 7.764...e-06
vc-kill-buffer-hook 35 0.0001860000 5.314...e-06
vc-stay-local-p 1 1422.366707 1422.366707
vc-backend 25667 1787.1615969 0.0696287683
vc-registered 37 1441.2173279 38.951819675
<self or not profiled> 25667 339.20715399 0.0132156915
vc-file-getprop 25668 6.7371149999 0.0002624713
vc-backend 37 1441.2173279 38.951819675
vc-registered 37 1441.2173279 38.951819675
vc-call-backend 363 1435.5771489 3.9547579862
<self or not profiled> 37 5.6396360000 0.1524225945
vc-file-setprop 37 0.000325 8.783...e-06
vc-file-getprop 37 0.0002180000 5.891...e-06
vc-call-backend 1 1422.384572 1422.384572
vc-stay-local-p 1 1422.384572 1422.384572
vc-backend 1 1422.366707 1422.366707
<self or not profiled> 1 0.0178510000 0.0178510000
vc-make-backend-sym 1 1.4e-05 1.4e-05
vc-call-backend 5 0.044193 0.0088386
vc-state 25630 338.47379800 0.0132061567
<self or not profiled> 25630 332.66181800 0.0129793920
vc-file-getprop 25630 5.8119799999 0.0002267647
vc-backend 25668 6.7371149999 0.0002624713
vc-state 25630 5.8119799999 0.0002267647
vc-working-revision 5 0.000611 0.0001222
vc-call-backend 34 0.0002640000 7.764...e-06
vc-registered 37 0.0002180000 5.891...e-06
vc-file-getprop 51374 12.550188000 0.0002442906
<self or not profiled> 51374 12.550188000 0.0002442906
vc-call-backend 238490 10.425457000 4.371...e-05
vc-registered 37 0.000325 8.783...e-06
vc-file-setprop 238527 10.425782000 4.370...e-05
<self or not profiled> 238527 10.425782000 4.370...e-05
vc-sccs-registered 36 2.596495 0.0721248611
vc-call-backend 37 2.2229139999 0.0600787567
vc-default-registered 73 4.819409 0.0660193013
vc-check-master-templates 73 3.312153 0.0453719589
<self or not profiled> 73 1.5062270000 0.0206332465
vc-make-backend-sym 73 0.001029 1.409...e-05
vc-default-registered 73 3.312153 0.0453719589
vc-check-master-templates 73 3.312153 0.0453719589
<self or not profiled> 73 2.980151 0.0408239863
vc-possible-master 219 0.3320019999 0.0015159908
vc-call-backend 36 2.919531 0.0810980833
vc-sccs-registered 36 2.919531 0.0810980833
vc-default-registered 36 2.596495 0.0721248611
<self or not profiled> 36 0.3230360000 0.0089732222
vc-call-backend 36 0.7906200000 0.0219616666
vc-hg-registered 36 0.7906200000 0.0219616666
<self or not profiled> 36 0.7592740000 0.0210909444
vc-find-root 36 0.031346 0.0008707222
vc-call-backend 36 0.784571 0.0217936388
vc-git-registered 36 0.784571 0.0217936388
<self or not profiled> 36 0.752849 0.0209124722
vc-find-root 36 0.031722 0.0008811666
vc-call-backend 36 0.7820339999 0.0217231666
vc-mcvs-registered 36 0.7820339999 0.0217231666
<self or not profiled> 36 0.7508869999 0.0208579722
vc-find-root 36 0.031147 0.0008651944
vc-call-backend 36 0.5590209999 0.0155283611
vc-mtn-registered 36 0.5590209999 0.0155283611
<self or not profiled> 36 0.5279159999 0.0146643333
vc-find-root 36 0.0311050000 0.0008640277
vc-call-backend 36 0.3502429999 0.0097289722
vc-bzr-registered 36 0.3502429999 0.0097289722
<self or not profiled> 36 0.3166469999 0.0087957499
vc-find-root 36 0.0335959999 0.0009332222
vc-call-backend 36 0.347461 0.0096516944
vc-arch-registered 36 0.347461 0.0096516944
<self or not profiled> 36 0.3156090000 0.0087669166
vc-find-root 36 0.0318520000 0.0008847777
vc-check-master-templates 219 0.3320019999 0.0015159908
vc-possible-master 219 0.3320019999 0.0015159908
<self or not profiled> 219 0.3312209999 0.0015124246
vc-sccs-search-project-dir 36 0.000781 2.169...e-05
vc-bzr-registered 36 0.0335959999 0.0009332222
vc-arch-registered 36 0.0318520000 0.0008847777
vc-git-registered 36 0.031722 0.0008811666
vc-hg-registered 36 0.031346 0.0008707222
vc-mcvs-registered 36 0.031147 0.0008651944
vc-mtn-registered 36 0.0311050000 0.0008640277
vc-find-root 216 0.1907680000 0.0008831851
<self or not profiled> 216 0.1907680000 0.0008831851
vc-call-backend 6 0.070114 0.0116856666
vc-find-backend-function 7 0.0788049999 0.0112578571
<self or not profiled> 7 0.0787069999 0.0112438571
vc-make-backend-sym 7 9.8e-05 1.4e-05
vc-call-backend 5 0.044984 0.0089968000
vc-working-revision 5 0.044984 0.0089968000
<self or not profiled> 5 0.044373 0.0088746
vc-file-getprop 5 0.000611 0.0001222
vc-default-registered 73 0.001029 1.409...e-05
vc-find-backend-function 7 9.8e-05 1.4e-05
vc-stay-local-p 1 1.4e-05 1.4e-05
vc-make-backend-sym 81 0.0011409999 1.408...e-05
<self or not profiled> 81 0.0011409999 1.408...e-05
vc-possible-master 36 0.000781 2.169...e-05
vc-sccs-search-project-dir 36 0.000781 2.169...e-05
<self or not profiled> 36 0.000781 2.169...e-05
vc-call-backend 35 0.0001860000 5.314...e-06
vc-kill-buffer-hook 36 0.0001900000 5.277...e-06
<self or not profiled> 36 0.0001900000 5.277...e-06
next prev parent reply other threads:[~2007-12-31 19:09 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-27 0:11 Hideously slow VC status queries fixed Eric S. Raymond
2007-12-27 1:27 ` Tom Tromey
2007-12-27 2:19 ` Eric S. Raymond
2007-12-27 18:24 ` Richard Stallman
2007-12-29 19:18 ` Tom Tromey
2007-12-29 21:49 ` Eric S. Raymond
2007-12-30 21:54 ` Tom Tromey
2007-12-31 3:41 ` Eric S. Raymond
2007-12-31 19:09 ` Tom Tromey [this message]
2007-12-31 20:33 ` Eric S. Raymond
2007-12-31 20:58 ` Dan Nicolaescu
2007-12-31 21:42 ` Eric S. Raymond
2008-01-01 23:21 ` Tom Tromey
2008-01-02 0:19 ` Eric S. Raymond
2007-12-27 18:24 ` Richard Stallman
2007-12-28 9:02 ` Eric S. Raymond
2007-12-28 18:46 ` Tom Tromey
2007-12-28 19:36 ` Tom Tromey
2007-12-27 2:41 ` Dan Nicolaescu
2007-12-27 6:13 ` Alexandru Harsanyi
2007-12-27 13:21 ` Eric S. Raymond
2007-12-29 7:40 ` Stefan Monnier
2007-12-29 7:34 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3prwmd6k8.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=emacs-devel@gnu.org \
--cc=esr@thyrsus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.