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: Tue, 01 Jan 2008 16:21:50 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.990 (gnu/linux)

>>>>> "Eric" == Eric S Raymond <address@hidden> writes:

Eric> Tom Tromey <address@hidden>:
>> Appended is a call-graph profile, thanks to Christian Ohler.
>> This is pretty interesting.

Eric> What are you seeing that I'm not?  Nothing jumps out at me as 
Eric> peculiar.

The vc-registered -> vc-call-backend edge seems particularly bad.
But perhaps I'm misreading this, or we knew it, or this profiler is
giving erroneous results.

BTW, today's VC changes roughly halved the number of calls to
vc-call-backend, but (according to oelp) the elapsed time hasn't
changed much.  New profile appended.

Tom

Function Name                        Call Count  Elapsed Time  Average Time
===================================  ==========  ============  ============
  vc-registered                       173         1366.0392379  7.8961805664
vc-call-backend                     186         4515.3948180  24.276316225
  <self or not profiled>              186         3140.0213510  16.881835220
  vc-stay-local-p                     1           1359.762977   1359.762977
  vc-file-setprop                     238528      11.230348000  4.708...e-05
  vc-default-registered               18          1.501319      0.0834066111
  vc-sccs-registered                  17          1.4998170000  0.0882245294
  vc-git-registered                   17          0.3869679999  0.0227628235
  vc-mcvs-registered                  17          0.175918      0.0103481176
  vc-bzr-registered                   17          0.166246      0.0097791764
  vc-hg-registered                    17          0.1651839999  0.0097167058
  vc-arch-registered                  17          0.1644719999  0.0096748235
  vc-mtn-registered                   17          0.163277      0.0096045294
  vc-find-backend-function            6           0.068498      0.0114163333
  vc-state                            5           0.0450599999  0.009012
  vc-working-revision                 5           0.043155      0.008631
  vc-file-getprop                     15          0.0001360000  9.066...e-06
  vc-kill-buffer-hook                 16          9.199...e-05  5.749...e-06

  vc-stay-local-p                     1           1359.745306   1359.745306
  vc-state                            17          9.137986      0.5375285882
vc-backend                          23          1368.9283529  59.518624043
  vc-registered                       18          1368.5600880  76.031116000
  <self or not profiled>              23          0.3674779999  0.0159773043
  vc-file-getprop                     24          0.000787      3.279...e-05

  vc-backend                          18          1368.5600880  76.031116000
vc-registered                       18          1368.5600880  76.031116000
  vc-call-backend                     173         1366.0392379  7.8961805664
  <self or not profiled>              18          2.5205340000  0.1400296666
  vc-file-setprop                     18          0.000171      9.5e-06
  vc-file-getprop                     18          0.000145      8.055...e-06

  vc-call-backend                     1           1359.762977   1359.762977
vc-stay-local-p                     1           1359.762977   1359.762977
  vc-backend                          1           1359.745306   1359.745306
  <self or not profiled>              1           0.0176510000  0.0176510000
  vc-make-backend-sym                 1           2e-05         2e-05

  vc-call-backend                     5           0.0450599999  0.009012
vc-state                            51291       680.21053799  0.0132617913
  <self or not profiled>              51291       658.54704799  0.0128394269
  vc-file-getprop                     51291       12.525504000  0.0002442047
  vc-backend                          17          9.137986      0.5375285882

  vc-state                            51291       12.525504000  0.0002442047
  vc-backend                          24          0.000787      3.279...e-05
  vc-working-revision                 5           0.000702      0.0001404
  vc-registered                       18          0.000145      8.055...e-06
  vc-call-backend                     15          0.0001360000  9.066...e-06
vc-file-getprop                     51353       12.527274000  0.0002439443
  <self or not profiled>              51353       12.527274000  0.0002439443

  vc-call-backend                     238528      11.230348000  4.708...e-05
  vc-registered                       18          0.000171      9.5e-06
vc-file-setprop                     238546      11.230519000  4.707...e-05
  <self or not profiled>              238546      11.230519000  4.707...e-05

  vc-call-backend                     18          1.501319      0.0834066111
  vc-sccs-registered                  17          1.3520339999  0.0795314117
vc-default-registered               35          2.853353      0.0815243714
  vc-check-master-templates           35          2.0015959999  0.0571884571
  <self or not profiled>              35          0.8511960000  0.0243198857
  vc-make-backend-sym                 35          0.0005610000  1.602...e-05

  vc-default-registered               35          2.0015959999  0.0571884571
vc-check-master-templates           35          2.0015959999  0.0571884571
  <self or not profiled>              35          1.8503919999  0.0528683428
  vc-possible-master                  105         0.151204      0.0014400380

  vc-call-backend                     17          1.4998170000  0.0882245294
vc-sccs-registered                  17          1.4998170000  0.0882245294
  vc-default-registered               17          1.3520339999  0.0795314117
  <self or not profiled>              17          0.1477830000  0.0086931176

  vc-call-backend                     17          0.3869679999  0.0227628235
vc-git-registered                   17          0.3869679999  0.0227628235
  <self or not profiled>              17          0.3711519999  0.0218324705
  vc-find-root                        17          0.015816      0.0009303529

  vc-call-backend                     17          0.175918      0.0103481176
vc-mcvs-registered                  17          0.175918      0.0103481176
  <self or not profiled>              17          0.1591679999  0.0093628235
  vc-find-root                        17          0.0167500000  0.0009852941

  vc-call-backend                     17          0.166246      0.0097791764
vc-bzr-registered                   17          0.166246      0.0097791764
  <self or not profiled>              17          0.149044      0.0087672941
  vc-find-root                        17          0.017202      0.0010118823

  vc-call-backend                     17          0.1651839999  0.0097167058
vc-hg-registered                    17          0.1651839999  0.0097167058
  <self or not profiled>              17          0.1492689999  0.0087805294
  vc-find-root                        17          0.015915      0.0009361764

  vc-call-backend                     17          0.1644719999  0.0096748235
vc-arch-registered                  17          0.1644719999  0.0096748235
  <self or not profiled>              17          0.1479379999  0.0087022352
  vc-find-root                        17          0.016534      0.0009725882

  vc-call-backend                     17          0.163277      0.0096045294
vc-mtn-registered                   17          0.163277      0.0096045294
  <self or not profiled>              17          0.1464970000  0.0086174705
  vc-find-root                        17          0.01678       0.0009870588

  vc-check-master-templates           105         0.151204      0.0014400380
vc-possible-master                  105         0.151204      0.0014400380
  <self or not profiled>              105         0.150816      0.0014363428
  vc-sccs-search-project-dir          17          0.000388      2.282...e-05

  vc-bzr-registered                   17          0.017202      0.0010118823
  vc-mtn-registered                   17          0.01678       0.0009870588
  vc-mcvs-registered                  17          0.0167500000  0.0009852941
  vc-arch-registered                  17          0.016534      0.0009725882
  vc-hg-registered                    17          0.015915      0.0009361764
  vc-git-registered                   17          0.015816      0.0009303529
vc-find-root                        102         0.0989970000  0.0009705588
  <self or not profiled>              102         0.0989970000  0.0009705588

  vc-call-backend                     6           0.068498      0.0114163333
vc-find-backend-function            7           0.076992      0.0109988571
  <self or not profiled>              7           0.076893      0.0109847142
  vc-make-backend-sym                 7           9.900...e-05  1.414...e-05

  vc-call-backend                     5           0.043155      0.008631
vc-working-revision                 5           0.043155      0.008631
  <self or not profiled>              5           0.042453      0.0084906
  vc-file-getprop                     5           0.000702      0.0001404

  vc-default-registered               35          0.0005610000  1.602...e-05
  vc-find-backend-function            7           9.900...e-05  1.414...e-05
  vc-stay-local-p                     1           2e-05         2e-05
vc-make-backend-sym                 43          0.0006799999  1.581...e-05
  <self or not profiled>              43          0.0006799999  1.581...e-05

  vc-possible-master                  17          0.000388      2.282...e-05
vc-sccs-search-project-dir          17          0.000388      2.282...e-05
  <self or not profiled>              17          0.000388      2.282...e-05

  vc-call-backend                     16          9.199...e-05  5.749...e-06
vc-kill-buffer-hook                 17          9.799...e-05  5.764...e-06
  <self or not profiled>              17          9.799...e-05  5.764...e-06





reply via email to

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