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: Carsten Dominik
Subject: Re: [O] faster agenda with properties support disabled (no org-refresh-properties)
Date: Tue, 3 Sep 2013 15:21:18 +0200

On Sep 3, 2013, at 2:02 PM, Daniel Clemente <address@hidden> wrote:

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

OK, I also have no idea why that happens.

Thanks for the feedback.

- Carsten

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