* FR: per-session caching of *Org Agenda* buffer
@ 2007-12-29 23:13 Adam Spiers
2008-01-15 11:48 ` Carsten Dominik
0 siblings, 1 reply; 2+ messages in thread
From: Adam Spiers @ 2007-12-29 23:13 UTC (permalink / raw)
To: org-mode mailing list
For me at least, generation of the *Org Agenda* buffer takes a good
1.5 seconds or so each time, on a pretty decent machine. This isn't
too bad, and is at least in part due to my tendency for Structured
Procrastination which leads to very long TODO.org files (and lots of
posts to this list ;-)
However, I think it would be pretty easy to smash this 1.5s down to
0.01s or quicker in the majority of cases, simply by implementing a
basic Makefile-like awareness of all the dependencies which form
inputs into the process of generating the *Org Agenda* buffer. Then,
while the first generation after emacs startup would still be slow,
any subsequent generation would be instant as long as none of the
dependent inputs (agenda files, custom variables etc.,
day/week/month/grid/log etc. view modes) had changed since the last
generation, since it would simply be a matter of redisplaying the
existing *Org Agenda* buffer.
It sounds doable to me, and in fact pretty easy. The only tricky bit
might be figuring out whether any relevant variables had changed. Are
there any other inputs to the generation process I've missed?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: FR: per-session caching of *Org Agenda* buffer
2007-12-29 23:13 FR: per-session caching of *Org Agenda* buffer Adam Spiers
@ 2008-01-15 11:48 ` Carsten Dominik
0 siblings, 0 replies; 2+ messages in thread
From: Carsten Dominik @ 2008-01-15 11:48 UTC (permalink / raw)
To: Adam Spiers; +Cc: org-mode mailing list
On Dec 30, 2007, at 12:13 AM, Adam Spiers wrote:
> For me at least, generation of the *Org Agenda* buffer takes a good
> 1.5 seconds or so each time, on a pretty decent machine. This isn't
> too bad, and is at least in part due to my tendency for Structured
> Procrastination which leads to very long TODO.org files (and lots of
> posts to this list ;-)
>
> However, I think it would be pretty easy to smash this 1.5s down to
> 0.01s or quicker in the majority of cases, simply by implementing a
> basic Makefile-like awareness of all the dependencies which form
> inputs into the process of generating the *Org Agenda* buffer. Then,
> while the first generation after emacs startup would still be slow,
> any subsequent generation would be instant as long as none of the
> dependent inputs (agenda files, custom variables etc.,
> day/week/month/grid/log etc. view modes) had changed since the last
> generation, since it would simply be a matter of redisplaying the
> existing *Org Agenda* buffer.
>
> It sounds doable to me, and in fact pretty easy. The only tricky bit
> might be figuring out whether any relevant variables had changed. Are
> there any other inputs to the generation process I've missed?
Hi Adam,
yes, Org-mode is slow an creating agendas from long files. First of
all,
have you compiled org.el? That might already help.
2nd, I don't think at all that this is simple, unless you keep
redisplaying
the exact same agenda all the time, in which case it is easier to just
switch back to the agenda buffer.
Improving the speed of agenda creation would require an internal
representation
of all the data and deriving the agenda stuff from that. I don't want
to
go there, so why do you think this is simple?
- Carsten
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-01-15 11:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-29 23:13 FR: per-session caching of *Org Agenda* buffer Adam Spiers
2008-01-15 11:48 ` Carsten Dominik
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.