From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leonidas Tsampros Subject: org-columns slowness with fairly large files (~700 lines) Date: Fri, 30 Nov 2012 08:32:20 +0200 Message-ID: <87sj7rzjm3.fsf@kepler.lan> Reply-To: ltsampros@upnet.gr Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:60949) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeK8b-0005TK-G0 for emacs-orgmode@gnu.org; Fri, 30 Nov 2012 01:31:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TeK8a-0005rq-Ai for emacs-orgmode@gnu.org; Fri, 30 Nov 2012 01:31:49 -0500 Received: from mail-wg0-f51.google.com ([74.125.82.51]:43972) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeK8a-0005rl-3y for emacs-orgmode@gnu.org; Fri, 30 Nov 2012 01:31:48 -0500 Received: by mail-wg0-f51.google.com with SMTP id gg4so39695wgb.30 for ; Thu, 29 Nov 2012 22:31:47 -0800 (PST) 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 Hello, I'm facing a slowness while using org-columns mode on a fairly large file of mine with around 700 lines split between 3 outlines. My column definition is the following: :PROPERTIES: :COLUMNS: %50ITEM %Director %Year %WATCHED{X/} :WATCHED_ALL: "[ ]" "[X]" :END: The slowness is observed when I change the value of the WATCHED property to the next value. Attached you can find the point where I found the slowness after elp-instrumenting everything I could think of: org-columns-compute 1 4.310940636 4.310940636 org-get-property-block 786 2.4934241719 0.0031722953 re-search-forward 3919 1.4093316059 0.0003596151 org-before-first-heading-p 786 0.7155264029 0.0009103389 re-search-backward 1573 0.4510285690 0.0002867314 org-update-property-plist 780 0.2562820100 0.0003285666 org-remove-if 780 0.2458024500 0.0003151313 org-columns-string-to-number 780 0.0475362070 6.094...e-05 org-back-to-heading 787 0.0263376949 3.346...e-05 org-outline-level 787 0.0196983080 2.502...e-05 org-re-property 1564 0.0084069410 5.375...e-06 org-end-of-subtree 1 0.007929779 0.007929779 org-match-string-no-properties 780 0.0048964310 6.277...e-06 org-not-nil 780 0.002704256 3.466...e-06 org-columns-number-to-string 6 0.00019388 3.231...e-05 org-nofm-to-completion 6 0.000100014 1.6669e-05 org-add-props 6 4.5256e-05 7.542...e-06 It seems strange to me that switching to the next value of a cell, a call to org-columns-compute is needed. As you can see org-get-property-block is calles 786 times (which is rougly the number of all-level entries in this particular org file). Is there any way to make things faster? Best Regards, Leonidas Tsampros