emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Gerald Wildgruber <wildgruber@tu-berlin.de>
To: Joost Kremers <joostkremers@fastmail.fm>
Cc: Eric S Fraga <esflists@gmail.com>, emacs-orgmode@gnu.org
Subject: Re: Org mode in combination with emacs follow-mode is terrible
Date: Fri, 15 Jun 2018 18:28:46 +0200	[thread overview]
Message-ID: <8736xodnep.fsf@tu-berlin.de> (raw)
In-Reply-To: <87602n57mn.fsf@fastmail.fm>


I tried profiling my use of org-mode in conjunction with follow-mode; I
did the following:

1. M-x profiler-start
2. I enabled follow-mode in my buffer
3. I did some editing
4. M-x profiler-report
5. M-x profiler-stop

here's the result:

Collapsed, the report looks like that:

+ command-execute                                                8789  47%
+ follow-post-command-hook                                       7755  41%
+ ...                                                            1976  10%
+ redisplay_internal (C function)                                 104   0%
+ yas--post-command-handler                                        40   0%
+ timer-event-handler                                              20   0%
  tooltip-hide                                                      7   0%


And somewhat expanded:

- command-execute                                                8789  47%
 - call-interactively                                            8789  47%
  - byte-code                                                    8174  43%
   - read-extended-command                                       8174  43%
    - completing-read                                            8174  43%
     - #<compiled 0x3d2ceb9>                                     8174  43%
      - apply                                                    8174  43%
       - helm--completing-read-default                           8174  43%
        - helm-completing-read-sync-default-handler               8174  43%
         - helm-completing-read-default-1                        8174  43%
          - helm-comp-read                                       8174  43%
           - helm                                                8165  43%
            - apply                                              8165  43%
             - helm                                              8165  43%
              - apply                                            8165  43%
               - helm-internal                                   8165  43%
                - helm-read-pattern-maybe                        8150  43%
                 + read-from-minibuffer                          8079  43%
                 + helm-update                                     43   0%
                - #<compiled 0x12071ed>                             9   0%
                 + helm-cleanup                                     9   0%
                + helm-display-buffer                               6   0%
           + helm-make-source                                       9   0%
  + funcall-interactively                                         615   3%
- follow-post-command-hook                                       7755  41%
 - follow-adjust-window                                          7755  41%
  - follow-windows-start-end                                     7732  41%
   - follow-calc-win-end                                         7732  41%
    + pos-visible-in-window-p                                      25   0%
    + posn-at-x-y                                                   7   0%
    + window-inside-pixel-edges                                     3   0%
  + follow-all-followers                                            4   0%
    follow-avoid-tail-recenter                                      3   0%

If I understand correctly "follow-calc-win-end" would be the function
that uses most of cpu time.

I can't say how "normal" the other 47% under "command-execute" are,
which mainly seems to be helm-related ("helm-update").

Can anyone give an advice on possible optimizations with this situation?


Gerald.


On Mi, Jun 13 2018, Joost Kremers <joostkremers@fastmail.fm> wrote:

> Actually, I would suspect it's more of a problem for follow-mode than
> org-mode, because follow-mode needs to keep the different windows in sync.
> For this, it adds a function to `post-command-hook', which means it's run
> after every key press.
>
> It's not inconceivable that `follow-mode' does something that is extra
> time-consuming in an Org buffer. To find out what that might be, you could
> try the Elisp profiler that comes with Emacs. See the section "Profiling"
> in the Elisp manual for details.
>
> Once you've found out which function(s) consume so much time, it might be
> possible to ask in here or on emacs-devel what exactly is causing the
> problem and whether there's a way around it.


--
Dr. Gerald Wildgruber
Institut für Philosophie, Literatur-, Wissenschafts- und Technikgeschichte
Literaturwissenschaft mit Schwerpunkt Literatur und Wissenschaft
Technische Universität Berlin
Straße des 17. Juni 135
D-10623 Berlin
http://www.philosophie.tu-berlin.de/menue/home/
T. +49 (0)30 314 25924
F. +49 (0)30 314 23107
wildgruber@tu-berlin.de
---------------------
Sent with mu4e

  parent reply	other threads:[~2018-06-15 16:28 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-11 12:56 Org mode in combination with emacs follow-mode is terrible Gerald Wildgruber
2018-06-12  6:57 ` Eric S Fraga
2018-06-12 10:23   ` Gerald Wildgruber
2018-06-12 10:17     ` Eric S Fraga
2018-06-13  7:46       ` Gerald Wildgruber
2018-06-13  7:53       ` Gerald Wildgruber
2018-06-13  9:51         ` Eric S Fraga
2018-06-13 10:00           ` Joost Kremers
2018-06-15 15:34             ` Gerald Wildgruber
2018-06-15 16:28             ` Gerald Wildgruber [this message]
2018-06-15 15:25           ` Gerald Wildgruber
  -- strict thread matches above, loose matches on Subject: below --
2018-06-11 10:54 Gerald Wildgruber

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

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8736xodnep.fsf@tu-berlin.de \
    --to=wildgruber@tu-berlin.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=esflists@gmail.com \
    --cc=joostkremers@fastmail.fm \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).