From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: faster agenda with properties support disabled (no org-refresh-properties) Date: Sat, 31 Aug 2013 07:58:00 +0200 Message-ID: References: <87d2ppjg53.fsf@gmail.com> <87siyf1sm9.wl%n142857@gmail.com> <7BC61C18-28A7-41C7-8EC6-D2983A99C897@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58371) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VFeCN-0001Sq-1v for emacs-orgmode@gnu.org; Sat, 31 Aug 2013 01:58:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VFeCD-0005XR-PH for emacs-orgmode@gnu.org; Sat, 31 Aug 2013 01:58:14 -0400 Received: from mail-ee0-x230.google.com ([2a00:1450:4013:c00::230]:53450) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VFeCD-0005Vo-It for emacs-orgmode@gnu.org; Sat, 31 Aug 2013 01:58:05 -0400 Received: by mail-ee0-f48.google.com with SMTP id l10so1277111eei.21 for ; Fri, 30 Aug 2013 22:58:04 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Daniel Clemente Cc: emacs-orgmode@gnu.org 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 wrote: >>> So I would like to ask: is there a clean way to disable calls to >>> org-refresh-properties? >>=20 >> No, that would require a patch and a config variable. >>=20 >> - Carsten >>=20 >=20 > 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. >=20 >=20 > 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) >=20 > +(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. >=20 > @@ -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 >=20