all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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.