emacs-orgmode
[Top][All Lists]
Advanced

[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
> > 
> 



reply via email to

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