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: Slow speed of week and month views
Date: Sun, 6 Aug 2017 10:00:44 +0200	[thread overview]
Message-ID: <2017-08-06T09-54-26@devnull.Karl-Voit.at> (raw)
In-Reply-To: 87h8xlhccj.fsf@nicolasgoaziou.fr

* Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> Hello,

Hi Nicolas,

> Karl Voit <devnull@Karl-Voit.at> writes:
>
>> My daily agenda takes twenty seconds, my weekly approximately a
>> minute and generating a monthly agenda is something I can only do
>> when I plan to leave the computer for a longer break.
>>
>> Org-mode does not scale well, I'm afraid.
>
> Well, we would at least need to profiling report as a starting point.
> Could you provide one?

First: I've occasionally mentioned all kinds of performance issues
over the last years. I even started threads on how to improve things
on a completely new level.

I can provide many performance annoyances that affect me on a daily
basis.

So I am glad to be able to improve the situation for anybody. I have
had slow agenda performance for many years and I had to live with
it.

Here is a current profiling report from my daily agenda:

- command-execute                                               21948  98%
 - call-interactively                                           21948  98%
  - my-org-agenda                                               21518  96%
   - if                                                         21518  96%
    - org-agenda-list                                           21518  96%
     - byte-code                                                21518  96%
      - byte-code                                               18530  82%
       - apply                                                  18530  82%
        - org-agenda-get-day-entries                            18530  82%
         - #<compiled 0x374b19>                                 14961  66%
          - org-agenda-get-scheduled                            14957  66%
           - byte-code                                          13977  62%
            - org-is-habit-p                                     6424  28%
             - org-entry-get                                     6236  27%
              - org--property-local-values                       5876  26%
               - org-get-property-block                          4258  19%
                - org-inlinetask-in-task-p                       1619   7%
                   org-inlinetask-outline-regexp                    4   0%
                - org-back-to-heading                            1512   6%
                 - funcall                                       1512   6%
                  - #<compiled 0x53b0215>                        1512   6%
                     outline-back-to-heading                     1041   4%
                  org-before-first-heading-p                      360   1%
                  org-get-limited-outline-regexp                   19   0%
            - org-at-planning-p                                  3396  15%
             - funcall                                           2796  12%
              - #<compiled 0xabed2b>                             2796  12%
               - org-inlinetask-in-task-p                        1202   5%
                  org-inlinetask-outline-regexp                    12   0%
               - org-back-to-heading                             1075   4%
                - funcall                                        1071   4%
                 - #<compiled 0x53ae983>                         1071   4%
                    outline-back-to-heading                       575   2%
                 org-get-limited-outline-regexp                    12   0%
            - org-get-todo-state                                 2044   9%
             - org-back-to-heading                               1456   6%
              - funcall                                          1456   6%
               - #<compiled 0x53aec35>                           1456   6%
                  outline-back-to-heading                        1021   4%
            + org-agenda-skip                                     528   2%
            + org-get-tags-at                                     276   1%
            + org-agenda--timestamp-to-absolute                    96   0%
            + org-habit-parse-todo                                 65   0%
            + org-agenda-format-item                               32   0%
              org-get-priority                                     16   0%
              byte-code                                             8   0%
              string-prefix-p                                       4   0%
              org-outline-level                                     4   0%
         - #<compiled 0x374ae3>                                  2237  10%
          - org-agenda-get-deadlines                             2237  10%
           - byte-code                                           1899   8%
            - org-at-planning-p                                   896   4%
             - funcall                                            736   3%
              - #<compiled 0xabed2b>                              736   3%
               - org-back-to-heading                              284   1%
                - funcall                                         280   1%
                 - #<compiled 0x5145e8f>                          280   1%
                    outline-back-to-heading                       144   0%
               - org-inlinetask-in-task-p                         280   1%
                  org-inlinetask-outline-regexp                     4   0%
                 org-get-limited-outline-regexp                     4   0%
            - org-get-todo-state                                  599   2%
             - org-back-to-heading                                399   1%
              - funcall                                           399   1%
               - #<compiled 0x514547b>                            399   1%
                - outline-back-to-heading                         251   1%
                   outline-on-heading-p                             4   0%
            + org-agenda-skip                                     104   0%
            + org-agenda--timestamp-to-absolute                    12   0%
             abbreviate-file-name                                   4   0%
         - #<compiled 0x374b3d>                                  1308   5%
          - org-agenda-get-blocks                                 688   3%
           - byte-code                                            360   1%
            - org-agenda-skip                                      88   0%
               org-in-src-block-p                                  12   0%
               org-end-of-subtree                                   4   0%
            - org-get-todo-state                                    4   0%
             - org-back-to-heading                                  4   0%
              - funcall                                             4   0%
               - #<compiled 0x547456b>                              4   0%
                  outline-back-to-heading                           4   0%
            - org-get-tags-at                                       4   0%
             - funcall                                              4   0%
              - #<compiled 0x54745d7>                               4   0%
               - funcall                                            4   0%
                - #<compiled 0x5110c41>                             4   0%
                   match-string-no-properties                       4   0%
              org-get-priority                                      4   0%
              time-to-days                                          4   0%
          + org-agenda-get-timestamps                             620   2%
         + #<compiled 0x374b29>                                    24   0%
      - org-agenda-prepare                                       1952   8%
       - org-agenda-prepare-buffers                              1848   8%
        - funcall                                                1844   8%
         - #<compiled 0x53d5ed1>                                 1844   8%
          + org-end-of-subtree                                    596   2%
          + org-refresh-category-properties                       252   1%
          + org-at-heading-p                                      172   0%
          + org-set-regexps-and-options                           120   0%
          + org-in-commented-heading-p                              8   0%
            org-check-agenda-file                                   4   0%
       + org-agenda-mode                                          104   0%
      + org-agenda-finalize                                       772   3%
      + org-get-entries-from-diary                                196   0%
      + org-agenda-finalize-entries                                28   0%
        put-text-property                                           8   0%
  + counsel-M-x                                                   430   1%
+ ...                                                             334   1%
+ timer-event-handler                                              76   0%
  mouse-fixup-help-message                                         10   0%

You can find my personal setup on
https://github.com/novoid/dot-emacs/blob/master/config.org

Things related to my agenda start at
https://github.com/novoid/dot-emacs/blob/master/config.org#agenda
(the report is from my non-work files)

-- 
get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode:
       > get Memacs from https://github.com/novoid/Memacs <
Personal Information Management > http://Karl-Voit.at/tags/pim/
Emacs-related > http://Karl-Voit.at/tags/emacs/

  reply	other threads:[~2017-08-06  8:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-04 15:14 [Orgmode] Slow speed of week and month views Christoph Groth
2017-08-05  3:07 ` Adam Porter
2017-08-05 21:09   ` Karl Voit
2017-08-05 22:17     ` John Kitchin
2017-08-05 22:33       ` Nicolas Goaziou
2017-08-06  2:28       ` [Orgmode] " Tim Cross
2017-08-06  2:36       ` Adam Porter
2017-08-06  7:54       ` Karl Voit
2017-08-06 13:47         ` John Kitchin
2017-08-05 22:35     ` Nicolas Goaziou
2017-08-06  8:00       ` Karl Voit [this message]
2017-08-06  8:15         ` Nicolas Goaziou
2017-08-06  9:01           ` Karl Voit
2017-08-06  9:13             ` Adam Porter
2017-08-06 10:03               ` Karl Voit
2017-08-06 10:28                 ` Adam Porter
2017-08-06  9:26             ` Nicolas Goaziou
2017-08-06 10:18               ` Karl Voit
2017-08-07 11:41                 ` Nicolas Goaziou
  -- strict thread matches above, loose matches on Subject: below --
2010-02-16 19:58 Matt Lundin
2010-02-21  7:37 ` Carsten Dominik
2010-02-21 12:34   ` Matthew Lundin

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=2017-08-06T09-54-26@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).