all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Gerald Wildgruber <wildgruber@tu-berlin.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: follow-mode: extremely slow in combination with org-mode
Date: Sat, 16 Jun 2018 15:06:49 +0200	[thread overview]
Message-ID: <87y3fedgnq.fsf@tu-berlin.de> (raw)
In-Reply-To: <83r2l7yn52.fsf@gnu.org>


On Sa, Jun 16 2018, Eli Zaretskii <eliz@gnu.org> 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	other threads:[~2018-06-16 13:06 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-16 10:25 follow-mode: extremely slow in combination with org-mode Gerald Wildgruber
2018-06-16 11:41 ` Eli Zaretskii
2018-06-16 13:06   ` Gerald Wildgruber [this message]
2018-06-16 16:25     ` Eli Zaretskii
2018-06-16 21:05       ` Gerald Wildgruber
2018-06-17  6:57       ` Gerald Wildgruber
2018-06-17  8:12         ` Eli Zaretskii
2018-06-17 11:13           ` Alan Mackenzie
2018-06-17 13:02             ` Eli Zaretskii
2018-06-17 14:56               ` Gerald Wildgruber
2018-06-17 15:10                 ` Eli Zaretskii
2018-06-19 12:08                   ` Gerald Wildgruber
2018-06-19 16:55                     ` Eli Zaretskii
2018-06-19 13:53                   ` Gerald Wildgruber
2018-06-17 15:13             ` Eli Zaretskii
2018-06-21  8:25 ` Anders Lindgren
2018-06-27 16:43   ` Gerald Wildgruber
2018-07-09 20:12     ` Anders Lindgren

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=87y3fedgnq.fsf@tu-berlin.de \
    --to=wildgruber@tu-berlin.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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.