[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] faster agenda with properties support disabled (no org-refresh-p
From: |
Daniel Clemente |
Subject: |
Re: [O] faster agenda with properties support disabled (no org-refresh-properties) |
Date: |
Tue, 03 Sep 2013 19:02:52 +0700 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/24.3.50 (i686-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Thank you.
With this on, I reduced 1'7 seconds my normal agenda time (C-a a), from 13'5
to 11'8. Numbers are from elp but I checked them with an external stopwatch
because sometimes I have the impression that elp makes things slower.
The strange thing is, I don't see the difference I saw days before in
(org-batch-agenda). I could reproduceably run a slow export (with no patch) and
a fast export (with the patch). Now both are fast. I suppose that the contents
of my agenda might have changed in a way that is fast to handle. Anyway, this
is only good.
El Sat, 31 Aug 2013 07:58:00 +0200 Carsten Dominik va escriure:
>
> Hi Daniel,
>
> I have implemented a different version of the patch. Please take a look at
> the new variable
> org-agenda-ignore-drawer-properties.
>
> Regards, and thanks!
>
> - Carsten
>
> On 23.8.2013, at 11:24, Daniel Clemente <address@hidden> wrote:
>
> >>> So I would like to ask: is there a clean way to disable calls to
> >>> org-refresh-properties?
> >>
> >> No, that would require a patch and a config variable.
> >>
> >> - Carsten
> >>
> >
> > I send a patch to do this. Setting this new variable to t reduced 10
> > seconds my agenda export time (down from 1 minute 6 seconds) as well
> > as the update.
> > You may add a comment about what to expect if your agenda depends on
> > property data.
> >
> >
> > diff --git a/lisp/org.el b/lisp/org.el
> > index 572b797..167e7a8 100644
> > --- a/lisp/org.el
> > +++ b/lisp/org.el
> > @@ -17656,6 +17656,14 @@ is not set, the tables are not re-aligned, etc."
> > :version "24.3"
> > :group 'org-agenda)
> >
> > +(defcustom org-agenda-ignore-properties nil
> > + "Avoid updating text properties when building the agenda.
> > +Properties are used for effort estimation, appointments, categories.
> > +If you don't use these in the agenda, set it to t and it will be faster."
> > + :type 'boolean
> > + :version "24.3"
> > + :group 'org-agenda)
> > +
> > (defun org-duration-string-to-minutes (s &optional output-to-string)
> > "Convert a duration string S to minutes.
> >
> > @@ -18017,9 +18025,11 @@ When a buffer is unmodified, it is just
> > killed. When modified, it is saved
> > ;; this is only run for setting agenda tags from setup
> > ;; file
> > (org-set-regexps-and-options)))
> > - (org-refresh-category-properties)
> > - (org-refresh-properties org-effort-property 'org-effort)
> > - (org-refresh-properties "APPT_WARNTIME" 'org-appt-warntime)
> > + (unless org-agenda-ignore-properties
> > + (org-refresh-category-properties)
> > + (org-refresh-properties org-effort-property 'org-effort)
> > + (org-refresh-properties "APPT_WARNTIME" 'org-appt-warntime)
> > + )
> > (setq org-todo-keywords-for-agenda
> > (append org-todo-keywords-for-agenda org-todo-keywords-1))
> > (setq org-done-keywords-for-agenda
> >
>