slowness in stress test #261

Closed
dabrahams opened this Issue Aug 30, 2011 · 2 comments

Comments

Projects
None yet
3 participants
Contributor

dabrahams commented Aug 30, 2011

When performing a rewrite (of probably 10K commits) with `r b' I get into a state where magit is unbearably slow to do just about anything. elp profiling results follow, for what it's worth. Consider this a stress test; should you not find any low-hanging fruit here I suggest closing the ticket and moving on.

magit-wash-sequence                             372         79.129814     0.2127145537
magit-refresh                                   1           47.209205     47.209205
magit-refresh-wrapper                           1           47.209196     47.209196
magit-refresh-buffer                            1           47.197942     47.197942
magit-refresh-status                            1           47.190833     47.190833
magit-git-section                               7           40.136078999  5.7337255714
magit-insert-section                            7           40.134968     5.7335668571
magit-insert-pending-changes                    1           40.037881     40.037881
magit-wash-diffs                                1           39.705714     39.705714
magit-wash-diff-or-other-file                   365         39.705059999  0.1087809863
magit-wash-diff                                 365         39.704267     0.1087788136
magit-wash-diff-section                         365         39.646922999  0.1086217068
magit-wash-hunk                                 755         39.406265999  0.0521937298
magit-put-line-property                         101032      12.920146000  0.0001278817
magit-insert-pending-commits                    1           6.661799      6.661799
magit-cmd-output                                714         5.9179279999  0.0082884145
magit-git-string                                707         5.8195089999  0.0082312715
magit-git-output                                707         5.7710320000  0.0081627043
magit-highlight-line-whitespace                 101032      0.4918209999  4.867...e-06
magit-cmd-insert                                7           0.4034520000  0.0576360000
magit-propertize-section                        1498        0.3277000000  0.0002187583
magit-find-section                              4772        0.2068610000  4.334...e-05
magit-new-section                               1500        0.1800500000  0.0001200333
magit-insert-diff-title                         366         0.1454640000  0.0003974426
magit-section-set-hidden                        23          0.1096420000  0.0047670434
magit-current-line                              365         0.0398850000  0.0001092739
magit-section-path                              4775        0.0305350000  6.394...e-06
magit-get                                       4           0.0296250000  0.0074062500
magit-insert-stashes                            1           0.029336      0.029336
magit-insert-untracked-files                    1           0.027216      0.027216
magit-get-top-dir                               3           0.026896      0.0089653333
magit-find-buffer                               2           0.01957       0.009785
magit-insert-unpushed-commits                   1           0.0177359999  0.0177359999
magit--bisect-info-for-status                   1           0.01616       0.01616
magit--bisect-info                              1           0.016141      0.016141
magit-insert-unstaged-changes                   1           0.013342      0.013342
magit-insert-unpulled-commits                   1           0.011514      0.011514
magit-insert-staged-changes                     1           0.009726      0.009726
magit-for-all-sections                          1498        0.0091930000  6.136...e-06
magit-find-status-buffer                        1           0.008579      0.008579
magit-get-current-branch                        1           0.008287      0.008287
magit-get-ref                                   1           0.008258      0.008258
magit--bisecting-p                              1           0.007534      0.007534
magit-wash-log                                  2           0.0073339999  0.0036669999
magit-git-exit-code                             2           0.007275      0.0036375
magit-wash-log-line                             21          0.0072739999  0.0003463809
magit-remote-string                             1           0.007084      0.007084
magit-wash-untracked-files                      1           0.006998      0.006998
magit-wash-untracked-file                       13          0.0069570000  0.0005351538
magit-remote-branch-for                         1           0.006532      0.006532
magit-anything-staged-p                         1           0.004769      0.004769
magit-refresh-marked-commits-in-buffer          1           0.003508      0.003508
magit-set-section-info                          1100        0.0034120000  3.101...e-06
magit-read-rewrite-info                         2           0.002448      0.001224
magit-diff-line-file                            365         0.0022369999  6.128...e-06
magit-trim-line                                 707         0.0020910000  2.957...e-06
magit-cancel-section                            2           0.001286      0.000643
magit-wash-raw-diffs                            2           0.00108       0.00054
magit-wash-raw-diff                             3           0.0010500000  0.0003500000
magit-wash-stashes                              1           0.000809      0.000809
magit-wash-stash                                2           0.000791      0.0003955
magit-present-log-line                          21          0.0003580000  1.704...e-05
magit-revert-buffers                            1           0.000211      0.000211
magit-remote-branch-name                        2           4.4e-05       2.2e-05
magit-post-command-hook                         3           4.3e-05       1.433...e-05
magit-current-section                           6           3.3e-05       5.500...e-06
magit-rebase-info                               1           3.2e-05       3.2e-05
magit-file-lines                                1           2.8e-05       2.8e-05
magit-highlight-section                         4           2.7e-05       6.75e-06
magit-string-has-prefix-p                       4           8e-06         2e-06
magit-remember-point                            3           7e-06         2.333...e-06
magit-correct-point-after-command               3           7e-06         2.333...e-06
magit-diff-U-arg                                1           6e-06         6e-06
magit-find-section-at                           6           5.999...e-06  1e-06
magit-need-refresh                              1           1e-06         1e-06
magit-set-section-needs-refresh-on-show         1           1e-06         1e-06

sigma was assigned Dec 21, 2011

Owner

tarsius commented Aug 4, 2013

When performing a rewrite (of probably 10K commits)

I would do that on the command line.

Consider this a stress test; should you not find any low-hanging fruit here I suggest closing the ticket and moving on.

Done.

tarsius closed this Aug 4, 2013

@tarsius tarsius added 11 misc and removed 11 core labels May 12, 2014

tarsius removed the . label May 29, 2014

Owner

tarsius commented Sep 6, 2014

On the next branch washing diffs is now much faster.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment