# [Rd] vignette compilation times

Berwin A Turlach berwin at maths.uwa.edu.au
Fri Feb 20 19:23:52 CET 2009

G'day Robin,

On Thu, 19 Feb 2009 11:10:45 +0000
Robin Hankin <rksh1 at cam.ac.uk> wrote:

> I am preparing a number of vignettes that require a very  long time to
> process with Sweave.  The longest one takes 10 hours.

Is the sum of all chunks taking this time?  Or is it mostly the code in
only a view chunks?  And if so, are there chunks following that depend
on the result of these time-intensive chunks?

I wonder if it is feasible to construct your vignette according to the
lines.
1) have a file, say, vignette1.Rnw.in that contains:
--------------------
#ifdef BUILDVERSION
you may want to try the commands
\begin{Sinput}
> command1
> command2
\end{Sinput}
but be aware that his might take a long time.
#else
Now we run the commands
<<>>=
command1
command2
@
#endif
--------------------------

2) Now construct a Makefile that, using a preprocesser like cpp,
produces vignette1.Rnw from vignette1.Rnw.in using the first version
before an "R CMD build" but otherwise (for your own testing) the
second version.  Using .Rbuildignore, you can ensure that
vignett1.Rnw.in would not be distributed.

> I love the weaver package!

Thanks for pointing this package out.  I was aware of cacheSweave, but
that package seems to require that each chunk has a label which I find
kind of inconvenient.  weaver does not seem to have such a requirement.

Cheers,

Berwin