|
| 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
org-agenda-master-org-agenda-list-immediately-after-startup.txt
Description: Text document
org-agenda-wip-org-agenda-list-immediately-after-startup.txt
Description: Text document
org-agenda-master-org-agenda-list-redo-no-change.txt
Description: Text document
org-agenda-wip-org-agenda-list-redo-no-change.txt
Description: Text document
org-agenda-master-org-agenda-list-redo-single-change.txt
Description: Text document
org-agenda-wip-org-agenda-list-redo-single-change.txt
Description: Text document
org-custom-command-projects-master.txt
Description: Text document
org-custom-command-projects-wip.txt
Description: Text document
| [Prev in Thread] | Current Thread | [Next in Thread] |