From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Clemente Subject: Re: faster agenda with properties support disabled (no org-refresh-properties) Date: Fri, 23 Aug 2013 16:24:12 +0700 Message-ID: References: <87d2ppjg53.fsf@gmail.com> <87siyf1sm9.wl%n142857@gmail.com> <7BC61C18-28A7-41C7-8EC6-D2983A99C897@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45336) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCnbL-0005w3-DH for emacs-orgmode@gnu.org; Fri, 23 Aug 2013 05:24:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VCnbK-0006Xt-2M for emacs-orgmode@gnu.org; Fri, 23 Aug 2013 05:24:15 -0400 Received: from mail-pa0-x231.google.com ([2607:f8b0:400e:c03::231]:37977) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCnbJ-0006Xn-SF for emacs-orgmode@gnu.org; Fri, 23 Aug 2013 05:24:13 -0400 Received: by mail-pa0-f49.google.com with SMTP id ld10so449551pab.8 for ; Fri, 23 Aug 2013 02:24:13 -0700 (PDT) In-Reply-To: <7BC61C18-28A7-41C7-8EC6-D2983A99C897@gmail.com> 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: emacs-orgmode@gnu.org >> 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