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!