I'm using the following org agenda custom command, with a relatively small org-mode text file, and agenda creation is taking around 3-4 seconds, it becomes unbearably worse if I modify stuck-projects to also use properties searches)
Is there anything I can change to speed up the commands execution; or developer changes to org-mode?
(setq org-agenda-custom-commands
'(("h" "Next Action"
(
(agenda ""
((org-agenda-ndays 1)
(org-agenda-time-grid '())
(org-deadline-warning-days 5)
(org-agenda-sorting-strategy '(time-up priority-down))
(org-agenda-skip-deadline-if-done t)
(org-agenda-overriding-header "Today's Agenda: ")
))
;;;;;;; SLOW COMMAND #1
(tags "@HOME-habit-__IGNORE-SCHEDULED>\"<2000-01-01>\"/TODO|BLOCKED|SUBMIT"
((org-agenda-sorting-strategy '(priority-down))
(org-agenda-overriding-header "Unscheduled Todo (@Home): ")
))
(org-agenda-list-stuck-projects) ; SLOW IF I USE PROPERTIES LIKE ABOVE
;;;;;;; SLOW COMMAND #2
(tags "-@HOME-habit-@WORK-__IGNORE-SCHEDULED>\"<2000-01-01>\"/TODO|BLOCKED|SUBMIT" (
(org-agenda-sorting-strategy '(priority-down tag-down))
(org-agenda-overriding-header "Unscheduled Todo (Other Contexts): ")
))
(tags "+habit+@HOME-__IGNORE/TODO"
(
(org-agenda-sorting-strategy '(priority-down tag-down))
(org-agenda-overriding-header "Habits (@Home): ")
))
))
The main performance degradation comes from -SCHEDULED>\"<2000-01-01>\"
I understand there's a way to removed scheduled items from TODO agenda generations, but this doesn't apply to TAGS agenda generations. So in order to accomplish this in tags, I've added -SCHEDULED>\"<2000-01-01>\" meaning, 'does not have a SCHEDULED property'
Overall, isn't there any way to speed up property queries?
If the property query is generating some kind of index, is there a way to keep this indexed cached for the subsequent property query in this overall agenda page generation?
Cheers,
Jason
P.S. This being my first post on the mailing list, org-mode is absolutely amazing & invaluable!