emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Switch org-agenda-get-* defuns to operate on date ranges


From: Carsten Dominik
Subject: Re: [O] Switch org-agenda-get-* defuns to operate on date ranges
Date: Sat, 31 Aug 2013 08:18:10 +0200

Hi Jörg,

I think it would be feasible to write such a modification.

- Carsten

On 20.5.2013, at 15:36, Jonas Hörsch <address@hidden> wrote:

> hello everyone,
> 
> i've just started to use calfw to get a nice calendar-like display of my
> agenda. unfortunately i was slighly dismayed at the build-up speed
> easily exceeding a few seconds on my not so packed schedule. profiling
> into the code i found that the problem mainly is:
> 
> there exists only the possibility to retrieve agenda data for one day
> day, org-agenda.el's org-agenda-get-day-entries, rather than for a range
> of days. this makes it necessary to loop over --get-day-entries to collect
> all entries to show in the monthly calendar.
> 
> --get-day-entries for its part has to parse (basically regex-search
> through) the respective org agenda file completely on each invocation;
> effectively done by org-agenda-get-{todos,blocks,sexps,...}.
> 
> i imagine it is quite feasible to implement
> (defun org-agenda-get-entries (file beg end &rest args) ...)
> to sift through FILE but once and return an alist like
> ((date . (entry1 entry2 ..)) ..)
> containing all entries between dates BEG and END, inclusive.
> 
> neglecting the extra overhead for sorting entries into the alist, this
> promises to speed up typical weekly agenda collection by a factor of 7
> and calfw even by a factor of approx. 30, shouldn't it?
> 
> before i start a local branch to try myself on this refactoring work,
> i'd welcome a few comments, why i should be likely to fail or succeed!
> 
> cheers,
> jonas
> 
> 




reply via email to

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