emacs-devel
[Top][All Lists]
Advanced

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

Re: follow-mode: extremely slow in combination with org-mode


From: Gerald Wildgruber
Subject: Re: follow-mode: extremely slow in combination with org-mode
Date: Sat, 16 Jun 2018 15:06:49 +0200
User-agent: mu4e 1.1.0; emacs 27.0.50

On Sa, Jun 16 2018, Eli Zaretskii <address@hidden> wrote:

>> If I understand correctly "follow-calc-win-end" would be the function
>> that uses most of cpu time.
>
> Yes, it looks like that.  For even more detailed results, repeat the
> experiment after loading the uncompiled follow.el.

Thanks Eli,

So what I did was:

1. M-x load-file RET path-to-follow.el.gz RET
2. M-x profiler start
3. edit text
4. M-x profiler-report

Results do indeed look slightly different:

- follow-post-command-hook                                     140786  88%
 - if                                                          140440  88%
  - let                                                        140440  88%
   - save-current-buffer                                       140440  88%
    - follow-adjust-window                                     140436  88%
     - if                                                      140436  88%
      - progn                                                  140436  88%
       - let                                                   140418  88%
        - let*                                                 140340  88%
         - if                                                  140327  87%
          - follow-redisplay                                   114860  72%
           - let*                                              114860  72%
            - cond                                             104536  65%
             - follow-calculate-first-window-start-from-above             
104536  65%
              - save-excursion                                 104536  65%
               - let                                           104536  65%
                - while                                        104536  65%
                 - if                                          104536  65%
                  - setq                                       103381  64%
                   - follow-calc-win-start                     103381  64%
                    - while                                    103381  64%
                     - let                                     103378  64%
                      - setq                                   103349  64%
                       - car                                   103349  64%
                        - follow-calc-win-end                  103346  64%
                         - apply                               103346  64%
                          - #<compiled 0x226e139>              103329  64%
                           - apply                             103322  64%
                            - #<lambda 0xe5f44dcc127a05e>             103313  
64%
                             - let*                            103310  64%
                                posn-point                      51699  32%
                              + if                              51546  32%
                              + window-inside-pixel-edges                 47   
0%
                                +                                   3   0%
                        set-window-start                            4   0%
                     + and                                          3   0%
                  + not                                          1155   0%
            + let                                                4361   2%
            + follow-calc-win-start                              3289   2%
            + follow-estimate-first-window-start                 2674   1%
          - setq                                                20770  13%
           - follow-windows-start-end                           20770  13%
            - if                                                20770  13%
             - let                                              20770  13%
              - let                                             20770  13%
               - while                                          20770  13%
                - setq                                          20770  13%
                 - cons                                         20770  13%
                  - cons                                        20770  13%
                   - cons                                       20770  13%
                    - follow-calc-win-end                       20767  13%
                     - apply                                    20767  13%
                      + #<compiled 0x226e139>                   20763  13%
          + let                                                  4635   2%
          + if                                                     62   0%
         + progn                                                   13   0%
        + if                                                       67   0%
        + follow-all-followers                                     11   0%
       + follow-avoid-tail-recenter                                18   0%
    + if                                                            4   0%
 + follow-adjust-window                                           346   0%
+ command-execute                                                9690   6%

> If you "show all" in the Org buffer, do the lags become significantly
> smaller?

Yes, the difference is VERY significant; but I guess this is because
with collapsed headings, there is A LOT more text within the boundaries
of my frame, than with show-all.


Gerald.

---------------------
Sent with mu4e



reply via email to

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