emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Karl Voit <devnull@Karl-Voit.at>
To: emacs-orgmode@gnu.org
Subject: Re: Performance issues after upgrading from Emacs 23.3 to 24.3+prelude
Date: Thu, 9 Jan 2014 20:17:47 +0100	[thread overview]
Message-ID: <2014-01-09T20-05-54@devnull.Karl-Voit.at> (raw)
In-Reply-To: 871u0kp2s1.fsf@bzg.ath.cx

* Bastien <bzg@gnu.org> wrote:
> Karl Voit <devnull@Karl-Voit.at> writes:
>
>> I guess that with Emacs prelude, I got some functionality which is
>> causing these issues. So this might be of interest of other
>> Emacs/prelude users as well.
>
> Yes, probably, since the Org version is the same :)
> Better ping the Emacs prelude devs directly IMHO.

Today, I did another test. I converted my config to Emacs24 with the
most current Org-mode from git and without prelude at all.

Unfortunately, the performance issue stayed :-(

IMHO, the profiler reports showed a common pattern: a reasonable
amount of CPU got into line-number-at-pos if I read the profiler
report correctly. (see below)

I also turned off all visible minor modes from the mode line. No
change.

Since prelude is out of this game, what can I check to find the
source of this poor performance?


profiler report (CPU) of ~M-<up>~ of a simple list item without prelude:
#+BEGIN_EXAMPLE
- command-execute                                                1280  98%
 - call-interactively                                            1280  98%
  - org-metadown                                                 1004  77%
   - run-hook-with-args-until-success                            1004  77%
    - org-babel-pop-to-session-maybe                             1004  77%
     - org-babel-get-inline-src-block-matches                    1000  76%
        line-number-at-pos                                       1000  76%
  - byte-code                                                     265  20%
   - read-extended-command                                        265  20%
    - completing-read                                             265  20%
     - completing-read-default                                    265  20%
      - read-from-minibuffer                                      253  19%
       + command-execute                                           43   3%
       + redisplay_internal (C function)                            3   0%
  + execute-extended-command                                       11   0%
+ ...                                                              15   1%
+ redisplay_internal (C function)                                   4   0%
#+END_EXAMPLE

profiler-report (CPU) of ~C-c C-c~ in a simple table without prelude:
#+BEGIN_EXAMPLE
 command-execute                                               17492  94%
 - call-interactively                                           17492  94%
  - org-ctrl-c-ctrl-c                                           16137  86%
   - org-table-align                                             5844  31%
    + org-indent-refresh-maybe                                      8   0%
      org-table-goto-column                                         4   0%
   - run-hook-with-args-until-success                            4469  24%
    - org-babel-execute-safely-maybe                             4469  24%
     - org-babel-execute-maybe                                   4469  24%
      - org-babel-execute-src-block-maybe                        4469  24%
       - org-babel-get-inline-src-block-matches                  4449  23%
          line-number-at-pos                                     4449  23%
         org-babel-where-is-src-block-head                         16   0%
  + byte-code                                                    1311   7%
  + minibuffer-complete                                            33   0%
  + execute-extended-command                                        7   0%
+ timer-event-handler                                            1076   5%
+ ...                                                              24   0%
+ redisplay_internal (C function)                                  14   0%
#+END_EXAMPLE

profiler-report (CPU) of ~M-<down>~ of a heading containing
approx. 20000 lines of appointments and notes without prelude:
#+BEGIN_EXAMPLE
- command-execute                                              123676  83%
 - call-interactively                                          123676  83%
  - org-metaup                                                 115952  77%
   - call-interactively                                         87337  58%
    - org-move-subtree-up                                       87337  58%
     - org-move-subtree-down                                    87225  58%
      - insert-before-markers                                   86598  58%
       - org-indent-refresh-maybe                               86594  58%
        - org-indent-add-properties                             82086  55%
         - org-at-item-p                                        72884  48%
          - org-list-in-valid-context-p                         69497  46%
           - org-in-block-p                                     69493  46%
            - byte-code                                         69421  46%
             - mapc                                             63094  42%
              - #<compiled 0xf1d27b>                            63022  42%
               - org-between-regexps-p                          62878  42%
                - org-at-regexp-p                               32772  22%
                   byte-code                                    32716  21%
                  byte-code                                        16   0%
               outline-previous-heading                          3188   2%
               outline-next-heading                              2751   1%
           org-list-item-body-column                              691   0%
      + org-clean-visibility-after-subtree-move                   587   0%
      + outline-end-of-subtree                                     12   0%
      + org-get-last-sibling                                       12   0%
      + hide-subtree                                                8   0%
      + org-first-sibling-p                                         4   0%
   - run-hook-with-args-until-success                           28615  19%
    - org-babel-load-in-session-maybe                           28615  19%
     - org-babel-get-inline-src-block-matches                   28611  19%
        line-number-at-pos                                      28603  19%
      + thing-at-point                                              4   0%
       org-babel-where-is-src-block-head                            4   0%
  + byte-code                                                    7423   4%
  + list                                                          147   0%
  + previous-line                                                  44   0%
  + minibuffer-complete                                            33   0%
  + next-line                                                      32   0%
  + execute-extended-command                                       11   0%
  + org-return                                                      8   0%
  + org-yank                                                        8   0%
  + kill-ring-save                                                  6   0%
  + org-cycle                                                       6   0%
    scroll-up-command                                               3   0%
  + org-self-insert-command                                         3   0%
- timer-event-handler                                           24395  16%
 - byte-code                                                    24388  16%
  - apply                                                       24388  16%
   - org-indent-initialize-agent                                24338  16%
    - org-indent-initialize-buffer                              24335  16%
     - byte-code                                                24335  16%
      - org-indent-add-properties                               18006  12%
       - org-at-item-p                                           8487   5%
        - org-list-in-valid-context-p                            6184   4%
         - org-in-block-p                                        6180   4%
          - byte-code                                            6076   4%
           - mapc                                                4666   3%
            - #<compiled 0xf1d27b>                               4630   3%
             - org-between-regexps-p                             4546   3%
                org-at-regexp-p                                    40   0%
                byte-code                                           8   0%
             outline-next-heading                                 741   0%
             outline-previous-heading                             585   0%
         org-get-indentation                                     1326   0%
         org-list-item-body-column                                387   0%
         org-inlinetask-in-task-p                                  87   0%
       + byte-code                                                 85   0%
   + org-element--cache-sync                                       32   0%
     appt-check                                                     4   0%
   + blink-cursor-start                                             4   0%
   timer-activate-when-idle                                         3   0%
+ ...                                                             574   0%
+ redisplay_internal (C function)                                  83   0%
+ xselect-convert-to-string                                        11   0%
  internal-timer-start-idle                                         8   0%
#+END_EXAMPLE

-- 
mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode:
       > get Memacs from https://github.com/novoid/Memacs <

https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github

  parent reply	other threads:[~2014-01-09 19:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-06 16:54 Performance issues after upgrading from Emacs 23.3 to 24.3+prelude Karl Voit
2014-01-07  9:19 ` Bastien
2014-01-07 13:50   ` Karl Voit
2014-01-09 16:24     ` Eric S Fraga
2014-01-09 19:17   ` Karl Voit [this message]
2014-01-09 19:39     ` Nicolas Goaziou
2014-01-09 20:24       ` Performance issues after upgrading from Emacs 23.3 to 24.3 Karl Voit
2014-01-09 21:10         ` Nicolas Goaziou

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=2014-01-09T20-05-54@devnull.Karl-Voit.at \
    --to=devnull@karl-voit.at \
    --cc=emacs-orgmode@gnu.org \
    --cc=news1142@Karl-Voit.at \
    /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).