[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] new exporter - noweb substitution issues

From: cberry
Subject: [O] new exporter - noweb substitution issues
Date: Tue, 20 Nov 2012 13:40:52 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

When I tried to export a large subtree, it took over *5 minutes* to
export with release_7.9.2-597-gd4b739.

Using the contrib/lisp/*.el files from org-mode-7.8.11
it took *5 seconds*.

The subtree has a couple dozen '<<...>>'s in src blocks with ':noweb
yes' and the file itself is 9600 lines long. If I change all to 'noweb
no', then release_7.9.2-597-gd4b739 runs in about 5 seconds.

Both cases use:

  # Local variables:
  # *org-babel-use-quick-and-dirty-noweb-expansion*:t

I like to work interactively. Changing a little piece and then
re-exporting to see how it looks is really helpful for me.

Having to wait for 5 minutes to see how some small change affects the
results just won't work for me.


I also noticed on a toy test case (that does a lot of noweb lookups)
that the value of *org-babel-use-quick-and-dirty-noweb-expansion* seems
to have no effect on the reported difference between
(get-internal-run-time) eval'ed at the start and again at end of the
buffer exported using release_7.9.2-597-gd4b739.

FWIW, this toy case runs much faster even though the number of noweb
lookups is comparable. It is still slower than 7.8.11 iff I have 

If there is something I can do to shed more light on this please let me

One other noweb issue is that the code from an *unexported* src block
cannot be used in subsequent blocks, which was not true for 7.8.11 and
is not true for the old exporter. If the unexported src block is before
the block that tries to copy its code, nothing is copied. I believe this
is because the same temp buffer is used to look up the code and to store
the result that is passed to the parser and unexported code gets deleted
before noweb expansions are completed.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]