From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Rettke Subject: Re: Discussion request: 15m tangle time, details follow Date: Fri, 20 Jun 2014 09:50:50 -0500 Message-ID: References: <87ppi76irx.fsf@gmail.com> <87wqce0w9n.fsf@gmail.com> <87y4wtypwm.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wy09V-0002zf-7h for emacs-orgmode@gnu.org; Fri, 20 Jun 2014 10:50:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wy09T-00056W-MH for emacs-orgmode@gnu.org; Fri, 20 Jun 2014 10:50:53 -0400 Received: from mail-ob0-x236.google.com ([2607:f8b0:4003:c01::236]:45574) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wy09T-00056N-GF for emacs-orgmode@gnu.org; Fri, 20 Jun 2014 10:50:51 -0400 Received: by mail-ob0-f182.google.com with SMTP id nu7so1175485obb.41 for ; Fri, 20 Jun 2014 07:50:50 -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: Eric Schulte Cc: "emacs-orgmode@gnu.org" This is a nicer way, makes it obvious what *is* being used; uses dash.el: (let* ((allowed '(exports file noweb noweb-ref session tangle)) (new-ls (--filter (member (car it) allowed) org-babel-common-header-args-w-values))) (setq org-babel-common-header-args-w-values new-ls)) Grant Rettke | ACM, ASA, FSF, IEEE, SIAM gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/ =E2=80=9CWisdom begins in wonder.=E2=80=9D --Socrates ((=CE=BB (x) (x x)) (=CE=BB (x) (x x))) =E2=80=9CLife has become immeasurably better since I have been forced to st= op taking it seriously.=E2=80=9D --Thompson On Thu, Jun 19, 2014 at 8:26 PM, Grant Rettke wro= te: > Just excluded what seemed excludable and got build time down to 8 > minutes from 15 minutes. > > Kept the following as it seems that it would allow the most important thi= ngs: > > (session . :any) > (noweb-ref . :any) > (noweb . ((yes no tangle no-export strip-export))) > (file . :any) > (tangle . ((tangle yes no :any))) > (results . ((file list vector table scalar verbatim) > (raw html latex org code pp drawer) > (replace silent none append prepend) > (output value))) > > Here is what I excluded: > > (setq org-babel-common-header-args-w-values > (assq-delete-all 'cache org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'cmdline org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'colnames org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'comments org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'dir org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'eval org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'exports org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'epilogue org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'file-desc org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'hlines org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'mkdirp org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'no-expand org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'noeval org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'noweb-sep org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'padline org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'post org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'prologue org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'rownames org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'sep org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'shebang org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'tangle-mode org-babel-common-header-args-w-values= )) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'var org-babel-common-header-args-w-values)) > (setq org-babel-common-header-args-w-values > (assq-delete-all 'wrap org-babel-common-header-args-w-values)) > Grant Rettke | ACM, ASA, FSF, IEEE, SIAM > gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/ > =E2=80=9CWisdom begins in wonder.=E2=80=9D --Socrates > ((=CE=BB (x) (x x)) (=CE=BB (x) (x x))) > =E2=80=9CLife has become immeasurably better since I have been forced to = stop > taking it seriously.=E2=80=9D --Thompson > > > On Thu, Jun 19, 2014 at 7:01 PM, Grant Rettke w= rote: >> Understood. I will start testing. >> >> Just out of curiosity, knowing full well that it will break the >> tangle, and also since I hadn't tried >> the quick and dirty flag, I ran it with this to see how long it took: >> >> (setq org-babel-common-header-args-w-values nil) >> >> It went from 936 seconds (15 minutes) >> >> Down to 279 (4 minutes). >> >> Now I am wondering if it is worth converting my document *not* to use >> property inheritance... >> >> What would you folks do? >> Grant Rettke | ACM, ASA, FSF, IEEE, SIAM >> gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/ >> =E2=80=9CWisdom begins in wonder.=E2=80=9D --Socrates >> ((=CE=BB (x) (x x)) (=CE=BB (x) (x x))) >> =E2=80=9CLife has become immeasurably better since I have been forced to= stop >> taking it seriously.=E2=80=9D --Thompson >> >> >> On Thu, Jun 19, 2014 at 8:44 AM, Eric Schulte w= rote: >>> Grant Rettke writes: >>> >>>> I still want to be using org,, so my plan for now then is to write a >>>> pre-processing script for before org-babel-tangle is run that: >>>> >>>> 1. Checks each headline >>>> 2. Checks if there is a source block >>>> 3. If that source block doesn't have a noweb-ref name, and there is >>>> another source block under that >>>> headline, then "merge" it with the next source block of the same >>>> nature in that heading. >>>> >>>> That is off the top of my head, and I will try it by hand, first and >>>> see if it tangles the same result. >>>> >>>> Thoughts? >>> >>> Perhaps an easier workaround would be to customize the value of >>> `org-babel-common-header-args-w-values'. This variable determines whic= h >>> header arguments are checked for in properties. If you remove all >>> header arguments from this variable which you know are not used in a >>> property, it may dramatically speed up tangle time. >>> >>> This may reduce the utility of some convenience functions, but should >>> not have too large of an impact on overall functionality. >>> >>> Best, >>> Eric >>> >>> -- >>> Eric Schulte >>> https://cs.unm.edu/~eschulte >>> PGP: 0x614CA05D (see https://u.fsf.org/yw)