emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hideously slow VC status queries fixed


From: Tom Tromey
Subject: Re: Hideously slow VC status queries fixed
Date: Mon, 31 Dec 2007 12:09:59 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.990 (gnu/linux)

>>>>> "Eric" == Eric S Raymond <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]