From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Rettke Subject: Re: Discussion request: 15m tangle time, details follow Date: Thu, 19 Jun 2014 20:26:04 -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]:58456) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wxnag-0007Ls-Uj for emacs-orgmode@gnu.org; Thu, 19 Jun 2014 21:26:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wxnaf-0001SI-Hw for emacs-orgmode@gnu.org; Thu, 19 Jun 2014 21:26:06 -0400 Received: from mail-ob0-x229.google.com ([2607:f8b0:4003:c01::229]:57141) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wxnaf-0001SC-BJ for emacs-orgmode@gnu.org; Thu, 19 Jun 2014 21:26:05 -0400 Received: by mail-ob0-f169.google.com with SMTP id wp18so352489obc.28 for ; Thu, 19 Jun 2014 18:26: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: Eric Schulte Cc: "emacs-orgmode@gnu.org" 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 thing= s: (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 st= op taking it seriously.=E2=80=9D --Thompson On Thu, Jun 19, 2014 at 7:01 PM, Grant Rettke wro= te: > 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 wr= ote: >> 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 which >> 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)