Hi,

Here's an agenda custom command that acts as the main interface I interact with org (in fact, emacs :)).

  (setq org-agenda-custom-commands
        '(("c" "Simple agenda view"
           ((agenda "")
            (tags "PRIORITY=\"A\""
                  ((org-agenda-files '("~/org/work.org" "~/org/ideas.org"))
                   (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done))
                   (org-agenda-overriding-header "High-priority tasks:")
                   ))
            (tags-todo "PRIORITY=\"C\""
                       ((org-agenda-files '("~/org/work.org" "~/org/ideas.org"))
                        (org-agenda-overriding-header "Long-term:")))
            (alltodo ""
                     ((org-agenda-skip-function
                       '(or (zongheng-org-skip-subtree-if-priority ?A)
                            (zongheng-org-skip-subtree-if-priority ?C)
                            (org-agenda-skip-if nil '(scheduled deadline))))
                      (org-agenda-overriding-header "Other tasks:")))
            ))))

After I get into this view, I frequently issue many "org-agenda-earlier" & "org-agenda-later" commands, often in a back-and-forth fashion, to inspect what I've done around certain periods.  

In such a use case, it seems there's no reason to not cache results.  Without such caching currently the latency of switching is really high; with such a caching, I'm happy to pay an one-time latency/CPU cost for the first command, as long as successive commands can be sped up.

Is a feature like this planned?

Thanks,
Zongheng