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