emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Slow speed of week and month views


From: Karl Voit
Subject: Re: [O] Slow speed of week and month views
Date: Sun, 6 Aug 2017 10:00:44 +0200
User-agent: slrn/pre1.0.0-18 (Linux)

* Nicolas Goaziou <address@hidden> wrote:
> Hello,

Hi Nicolas,

> Karl Voit <address@hidden> 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 via email to

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