Currently I use org-mode to keep track of todos, projects, deadlines
and
the emacs diary to keep track of appointments. I would prefer to keep
the latter in org-mode, but the slow speed of the weekly and monthly
agenda views makes it difficult to gain a quick calendar overview of
all
upcoming timestamped items.
Has anyone had success in setting up a *fast* calendar view for
org-mode? I use the following custom command to get a view of
timestamped items only:
--8<---------------cut here---------------start------------->8---
("cc" "Calendar (events)" agenda ""
((org-agenda-ndays 1)
(org-agenda-time-grid nil)
(org-agenda-prefix-format " %-12:t ")
(org-agenda-include-all-todo nil)
(org-agenda-repeating-timestamp-show-all t)
(org-agenda-skip-function '(org-agenda-skip-entry-if 'deadline
'scheduled))))
--8<---------------cut here---------------end--------------->8---
With 25 agenda files, if I type "v m" (view month) in the agenda
results
for this custom command, it takes over 16 seconds to generate the
monthly calendar.[1]
I get similar results if I type "v m" in the default agenda view.[2]
As
a point of comparison, I've included the time it takes to generate an
agenda view for a single day on my system.[3]
As far as I can tell, org-mode scans each agenda file anew for each
day
shown in the weekly or monthly agenda (hence the many invocations of
org-agenda-get-day-entries in the results below), so the time it takes
to generate the agenda is roughly proportional to the number of days
in
the view.
Does anyone have any tips for speeding up the weekly or monthly agenda
views? I have vague and utterly naïve notions of a function that would
scan each agenda file *once* for timestamps within a given range
rather
than searching the agenda files again for each new day---but such a
function is far beyond my elisp skills. Any help would be greatly
appreciated.
Thanks!
Matt
Footnotes:
[1] Monthly view of custom command with 25 agenda files:
org-agenda-view-mode-dispatch
1 15.528815 15.528815
org-agenda-month-view
1 15.384877 15.384877
org-agenda-change-time-span
1 15.384839 15.384839
org-agenda-redo
1 15.383679 15.383679
org-agenda-list
1 15.382742 15.382742
org-agenda-get-day-entries
700 13.948870999 0.0199269585
org-agenda-get-scheduled
700 6.4163719999 0.0091662457
org-agenda-skip-entry-if
12871 5.3256909999 0.0004137744
org-agenda-skip-if
12871 5.1750260000 0.0004020686
org-agenda-get-deadlines
700 4.2478989999 0.0060684271
org-agenda-get-timestamps
700 1.7289499999 0.0024699285
org-agenda-get-sexps
700 0.6763130000 0.0009661614
org-agenda-get-blocks
700 0.6087859999 0.0008696942
org-agenda-todayp
1400 0.3336939999 0.0002383528
org-agenda-skip
15534 0.0450969999 2.903...e-06
org-agenda-files
3 0.016815 0.005605
org-agenda-cleanup-fancy-diary
28 0.0062590000 0.0002235357
org-agenda-mode
1 0.00606 0.00606
org-agenda-highlight-todo
86 0.0041800000 4.860...e-05
org-agenda-format-date-aligned
28 0.0033799999 0.0001207142
org-agenda-new-marker
136 0.0012809999 9.419...e-06
org-agenda-mark-clocking-task
1 0.00121 0.00121
org-agenda-align-tags
1 0.000903 0.000903
org-agenda-find-same-or-today-or-agenda
1 0.000499 0.000499
org-agenda-fontify-priorities
1 0.000394 0.000394
org-agenda-fix-displayed-tags
86 0.0003439999 3.999...e-06
org-agenda-add-time-grid-maybe
23 0.000236 1.026...e-05
org-agenda-set-mode-name
2 6.2e-05 3.1e-05
org-agenda-compute-time-span
1 3.8e-05 3.8e-05
org-agenda-mark-header-line
1 3.5e-05 3.5e-05
org-agenda-post-command-hook
2 1.6e-05 8e-06
org-agenda-reset-markers
1 1e-05 1e-05
org-agenda-ndays-to-span
2 6e-06 3e-06
org-agenda-check-type
1 5e-06 5e-06
[2] Elp results for monthly agenda view:
org-agenda-view-mode-dispatch
1 14.143243 14.143243
org-agenda-month-view
1 13.974747 13.974747
org-agenda-change-time-span
1 13.974703 13.974703
org-agenda-redo
1 13.972615 13.972615
org-agenda-list
1 13.97065 13.97065
org-agenda-get-day-entries
700 12.608783999 0.0180125485
org-agenda-get-scheduled
700 5.9895430000 0.0085564900
org-agenda-get-deadlines
700 3.8111570000 0.0054445100
org-agenda-get-timestamps
700 1.2642759999 0.0018061085
org-agenda-get-sexps
700 0.6626510000 0.0009466442
org-agenda-skip
15534 0.6255180000 4.026...e-05
org-agenda-get-blocks
700 0.6051640000 0.0008645200
org-agenda-todayp
1400 0.326468 0.0002331914
org-agenda-align-tags
1 0.023695 0.023695
org-agenda-highlight-todo
178 0.0217819999 0.0001223707
org-agenda-files
3 0.0175449999 0.0058483333
org-agenda-cleanup-fancy-diary
28 0.006159 0.0002199642
org-agenda-mode
1 0.006109 0.006109
org-agenda-mark-clocking-task
1 0.005423 0.005423
org-agenda-format-date-aligned
28 0.003358 0.0001199285
org-agenda-new-marker
314 0.0026219999 8.350...e-06
org-agenda-add-time-grid-maybe
27 0.0011129999 4.122...e-05
org-agenda-fontify-priorities
1 0.000879 0.000879
org-agenda-fix-displayed-tags
178 0.0008699999 4.887...e-06
org-agenda-find-same-or-today-or-agenda
1 0.000471 0.000471
org-agenda-deadline-face
27 0.0002540000 9.407...e-06
org-agenda-reset-markers
1 8.5e-05 8.5e-05
org-agenda-set-mode-name
2 5.7e-05 2.85e-05
org-agenda-mark-header-line
1 3.6e-05 3.6e-05
org-agenda-compute-time-span
1 3.3e-05 3.3e-05
org-agenda-post-command-hook
2 2.2e-05 1.1e-05
org-agenda-ndays-to-span
2 7e-06 3.5e-06
org-agenda-check-type
1 5e-06 5e-06
[3] Agenda view for single day:
org-agenda-list
1 1.765911 1.765911
org-agenda-get-day-entries
25 1.075021 0.04300084
org-agenda-get-scheduled
25 0.8153739999 0.0326149599
org-agenda-get-deadlines
25 0.1540369999 0.0061614799
org-agenda-get-timestamps
25 0.0491 0.001964
org-agenda-get-sexps
25 0.023261 0.00093044
org-agenda-skip
555 0.0225499999 4.063...e-05
org-agenda-get-blocks
25 0.021848 0.0008739199
org-agenda-files
3 0.0159939999 0.0053313333
org-agenda-align-tags
1 0.013129 0.013129
org-agenda-highlight-todo
59 0.0100849999 0.0001709322
org-agenda-mode
1 0.007312 0.007312
org-agenda-todayp
50 0.0030340000 6.068e-05
org-agenda-mark-clocking-task
1 0.002379 0.002379
org-agenda-new-marker
112 0.0008930000 7.973...e-06
org-agenda-add-time-grid-maybe
1 0.000831 0.000831
org-agenda-fontify-priorities
1 0.000378 0.000378
org-agenda-fix-displayed-tags
59 0.0002479999 4.203...e-06
org-agenda-cleanup-fancy-diary
1 0.00022 0.00022
org-agenda-deadline-face
18 0.000182 1.011...e-05
org-agenda-format-date-aligned
1 0.000117 0.000117
org-agenda-reset-markers
1 8.5e-05 8.5e-05
org-agenda-mark-header-line
1 3.7e-05 3.7e-05
org-agenda-set-mode-name
1 2.7e-05 2.7e-05
org-agenda-post-command-hook
1 1.8e-05 1.8e-05
org-agenda-ndays-to-span
2 7e-06 3.5e-06
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode