From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Berry, Charles" Subject: BUG? WAS: Re: Painfully Slow Export Date: Thu, 14 Jun 2018 18:34:40 +0000 Message-ID: References: <73844D54-30A4-48CB-8303-6DA3C932A444@ucsd.edu> <04337B1C-B1CB-4349-87E1-5C7051B38BA7@ucsd.edu> <5817E7AF-A6BB-42A3-93D1-22387C23D618@ucsd.edu> <234D6E4E-7E88-4ABB-9277-BBE80A18D179@ucsd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36004) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fTX5B-000386-Tx for emacs-orgmode@gnu.org; Thu, 14 Jun 2018 14:34:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fTX57-0005jR-0H for emacs-orgmode@gnu.org; Thu, 14 Jun 2018 14:34:53 -0400 Received: from iport-acv4-out.ucsd.edu ([132.239.0.7]:10834) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fTX56-0005hL-FP for emacs-orgmode@gnu.org; Thu, 14 Jun 2018 14:34:48 -0400 In-Reply-To: Content-Language: en-US Content-ID: <615AAE450C913C47B98CD9BC9E758D74@AD.UCSD.EDU> 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" To: Ken Mankoff Cc: Org-mode tl;dr: `:exports results :noweb no-export :eval never-export' needlessly ex= pands <> code causing massive slowdowns on export.=20 > On Jun 13, 2018, at 9:42 PM, Ken Mankoff wrote: >=20 > One more thought - even if your system is significantly faster for some u= nknown reason - why is export taking ~15 seconds for 200 blocks *when you a= ren't exporting any of the code*.=20 > Why is <> expansion occurring if ":eval never-export" is set? The= re seems to be something inefficient going on here. >=20 > =20 Using your ECM, C-c C-v C-i on your `baz' block. Note `:exports code' ,---- | Name: baz | Lang: sh | Properties: | :header-args :eval never-export | :header-args:sh nil | Header Arguments: | :cache no | :eval never-export | :exports code | :hlines no | :noweb yes | :results verbatim replace | :session none | :tangle no `---- Setting `:exports none' speeds things up a bit more.=20 Looking back at your earlier posts, I see that you had `:exports results' f= or your python block but not in your ECM. i.e. you need these header args: #+PROPERTY: header-args :eval never-export :exports results :noweb no-expor= t to show how bad things can be in your ECM. The `:exports results' will *really* slow things down. And this *may* be c= onsidered a bug. Babel isn't quite smart enough to sort out that you want r= esults, but do not need to eval the src block nor check the hash in `org-ba= bel-sha1-hash'. Making matters a bit more complicated, I'd have thought that this :noweb (if org-export-current-backend "no" "yes") would be enough to fix things, but it fails on recursive noweb expansions i= f you try to execute a src block interactively. And maybe that is a bug, to= o.=20 HTH, Chuck