emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [PERF] Slow Org Agenda Custom Commands


From: Carsten Dominik
Subject: Re: [Orgmode] [PERF] Slow Org Agenda Custom Commands
Date: Sun, 18 Jan 2009 20:50:18 +0100


On Jan 12, 2009, at 6:56 AM, Jason Jackson wrote:

Thank you Matthew, this improved the performance to an acceptable ~half second

I still wonder if multiple property searches could be optimized somehow, but for my purposes I'm satisfied =)

Hi Jason,

property searches are really un-optimized in Org.  Tag searches are faster, but
also not well optimized.

I do have ideas how to improve the situation with some cacheing.
However, this is a case where the fact that Org-mode is using
plain text files is biting you.  It is very hard, 
between two searched (the first one creating the cache,  the second
one using it), to be sure that the text base has not been modified
by hand.

I could probably create a cache and make the user responsible to
update it, but I have not made this step.

- Carsten



For example, you can't use agenda filter commands with org-stuck-project-list, thus you'd have to resort to a slow property search. Some people might want to search for high priority stuck projects. (I solved this by introducing different 'priority' todo states)

-Jason

On Mon, Jan 12, 2009 at 1:34 PM, Matthew Lundin <address@hidden> wrote:

Hi Jason,

"Jason Jackson" <address@hidden> writes:

> 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): ")
>                  ))

As you suggest, any searches for properties other than TODO, LEVEL,
and CATEGORY can be quite slow.

Have you considered using a todo search and then using secondary
filtering to limit by tag. This would enable you to use either of the
following variables:

- org-agenda-todo-ignore-with-date
- org-agenda-todo-ignore-scheduled

Best,
Matt

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


reply via email to

[Prev in Thread] Current Thread [Next in Thread]