axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] size issue with noweb


From: David MENTRE
Subject: Re: [Axiom-developer] size issue with noweb
Date: Fri, 21 Apr 2006 09:24:26 +0200

Hello Tim,

2006/4/21, root <address@hidden>:
> The process takes 20 seconds on a 3.2Ghz processor.
> 16 of those seconds (80% of the total time) involve noweb.

Which part of noweb takes so much time? noweave? notangle? Both of them?

> My program will eventually be a factor of 10 larger
> (about 500k lines, 12k pages).

Would it be possible to have your program, or at least a document
having the same noweb structure, for tests?

Would it be possible to write a dummy program of the size of the final
one (10 times larger) but with expected noweb structure?

> I'm not sure that noweb is up to the task. It clearly cannot scale.
> Latex, a MUCH more complex program, swallows my document in one second.
> I think it might be time to explore a noweb rewrite.

Before a rewrite, we should understand where is exactly the congestion
point. From your message, I don't understand exactly what is going
wrong.

I can do some profiling but I need a test document.

> In particular, I'm beginning to think that we could use latex syntax for 
> chunks

While I'm not against changing the syntax, I don't understand how a
syntax change would improve performance. Or do you assume that the
performance penalty is syntax related (ok, I've just understood that
this syntax change would eliminate the noweave processing)?


> <<chunkname>>=
>   foo
> @
>
> becomes
>
> \begin{chunk}[chunkname]
>   foo
> \end{chunk}
>
> and
>
> <<chunkname>>
>
> becomes
>
> \chunk{chunkname}
>
> Code could still be extracted with a preprocessor but the
> latex piece would become native latex and could be formatted
> by standard latex with only a .sty file. This completely
> eliminates the need for noweave.

This seems a reasonable idea to me. It should be easy to write some
Python or Perl to apply automatically this transformation.

Just one point: does noweave apply a specific treatment to "[[  ]]"
marks or is it handled by latex macros?

Best wishes,
d.




reply via email to

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