emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [ANN] Agenda speed up


From: Matt Lundin
Subject: Re: [O] [ANN] Agenda speed up
Date: Sun, 01 Oct 2017 18:49:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Nicolas Goaziou <address@hidden> writes:

> Matt Lundin <address@hidden> writes:
>
>> I am finding that the branch is still much slower than the current
>> master even when no agenda files have changed (i.e., when running
>> org-agenda-redo in an existing agenda buffer without changing
>> anything).
>
> This is interesting. Could you provide a report of the second call to
> the same view? Or better, both reports for the first and subsequent
> view. The second view should definitely be faster.

I've attached the profiling for master and the wip branch. Both were run
with identical agenda files and identical configurations

The first pair of files profiles calling org-agenda-list immediately
after emacs has started up (i.e., before opening agenda files). The
total times are:

master: 5.014304355
wip:    6.68215677

The second pair of files profiles calling org-agenda-redo immediately
after generating the agenda with org-agenda-list (i.e., without changing
anything in the agenda files). Note: repeating the redo after that
results in virtually identical times.

master: 0.979825959
wip:    1.178702222

The third pair of files profiles calling org-agenda-redo after
changing (rescheduling) one item in the agenda.

master: 0.979580617
wip:    1.189759099

> I can look into your issue with proper reports as there may be ways to
> improve it, but I'm more interesting in, e.g., halving the 30 s from
> a month view than reducing the 1 s it takes to display a day view.

I agree it is important to reduce the time it takes to display a month
view. Thanks for all your work on this! I'd like to clarify that I am
not asking for further reductions from what the master branch of
org-mode has already achieved. Rather, I am concerned with regressions
from those times. The gap in time above, of course, is not particularly
big. But I'm running into some slower times (e.g., a 1 second
difference) on some of my other custom agenda commands. Take, for
instance, the following command:

--8<---------------cut here---------------start------------->8---
(org-add-agenda-custom-command
 '("q" "Projects"
   ((stuck "")
    (agenda ""                    
            ((org-agenda-include-deadlines t)
             (org-agenda-entry-types '(:deadline))
             ;; (org-agenda-skip-function
             ;;  '(org-agenda-skip-entry-if 'notregexp ":PROJ:"))
             (org-agenda-include-diary nil)
             (org-agenda-time-grid nil)))
    (todo "PROJECT"
          ((org-agenda-todo-ignore-deadlines t)
           (org-agenda-prefix-format " %i %-12:c%l"))))
   ((org-deadline-warning-days 365))))
--8<---------------cut here---------------end--------------->8---

The startup times weren't that far apart.

master: 5.728477902
wip:    6.68639764

But running org-agenda-redo results in a 1s gap (see the last two
attached files for profiling information):

master:   2.14623279
wip:      3.125571084

Best,
Matt

Attachment: org-agenda-master-org-agenda-list-immediately-after-startup.txt
Description: Text document

Attachment: org-agenda-wip-org-agenda-list-immediately-after-startup.txt
Description: Text document

Attachment: org-agenda-master-org-agenda-list-redo-no-change.txt
Description: Text document

Attachment: org-agenda-wip-org-agenda-list-redo-no-change.txt
Description: Text document

Attachment: org-agenda-master-org-agenda-list-redo-single-change.txt
Description: Text document

Attachment: org-agenda-wip-org-agenda-list-redo-single-change.txt
Description: Text document

Attachment: org-custom-command-projects-master.txt
Description: Text document

Attachment: org-custom-command-projects-wip.txt
Description: Text document


reply via email to

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