From kevin.r.coombes at gmail.com  Mon Feb 14 15:52:26 2011
From: kevin.r.coombes at gmail.com (Kevin R. Coombes)
Date: Mon, 14 Feb 2011 08:52:26 -0600
Subject: [Rd] CRAN package sizes
In-Reply-To: <AANLkTin5vM8C+7w-PDzVWdRA67WNbXxH3MqMjbxd1HSs@mail.gmail.com>
References: <alpine.OSX.1.00.1102131203050.44163@tystie.local>
	<AANLkTin5vM8C+7w-PDzVWdRA67WNbXxH3MqMjbxd1HSs@mail.gmail.com>
Message-ID: <4D5941AA.8020504@gmail.com>

I think it would be even more useful if we could get Sweave to easily 
produce PNG figures instead of just PDF/EPS.  In the current state of 
things, making PNG versions is more cumbersome than making PDF versions, 
so I'm not surprised that most people don't go to that trouble most of 
the time.

I also know (from searching the archives when I wanted to try this 
myself) that a couple of people have, in the past, modified Sweave so it 
can generate PNG automatically.  However, the changes have never 
migrated into the released version.  Perhaps the space constraints at 
CRAN can convince Freidrich Leisch that the change would be a good idea....

     Kevin

On 2/13/2011 3:02 PM, Yihui Xie wrote:
> Regarding the reasons that make the doc directory large, I wonder if
> we can make some changes in R:
>
> 1. Use a null graphics device as the default device rather than pdf()
> when running Sweave -- this can avoid the useless Rplots.pdf:
>
> options(device = function(...) {
>      .Call("R_GD_nullDevice", PACKAGE = "grDevices")
> })
>
> This can save some time in building the vignette(s) as well. (see
> http://yihui.name/en/?p=673)
>
> However, this undocumented null device may not work for certain
> graphics. Here is an example that it fails for ggplot2:
> http://stackoverflow.com/questions/4692974/ggplot2-code-that-works-interactively-rkward-crashes-under-lyx-pgfsweave-hint/4707745#4707745
>
> Is it possible for someone to look into the null device (Dr Murrell?)
> to make it stable enough?
>
> 2. Compress the PDF graphics and vignettes using third-party tools,
> among which I recommend qpdf (it's free).
>
> qpdf --stream-data=compress input.pdf output.pdf
>
> This can reduce the size of PDF files a lot without quality loss. I'm
> using this tool in the animation package to reduce the size of PDF
> animations.
>
> 3. Sorry I bring up this issue again, but I don't understand why
> Sweave could not implement the png() device along with pdf() and
> postscript(). I'm willing to provide a patch if needed.
>
> Thanks!
>
> Regards,
> Yihui
> --
> Yihui Xie<xieyihui at gmail.com>
> Phone: 515-294-2465 Web: http://yihui.name
> Department of Statistics, Iowa State University
> 2215 Snedecor Hall, Ames, IA
>
>
>
> On Sun, Feb 13, 2011 at 6:30 AM, Prof Brian Ripley
> <ripley at stats.ox.ac.uk>  wrote:
>> Robin Hankin's post reminded me to post about the following recent addition
>> to 'Writing R Extensions', in the section on 'Submitting a package to CRAN'
>>
>>   Ensure that the package sources are not unnecessarily large. ...
>>   As a general rule, doc directories should not exceed 5Mb, and
>>   where data directories need to be 10Mb or more, consideration should
>>   be given to a separate package containing just the data. (Similarly
>>   for external data directories, large jar files and other libraries
>>   that need to be installed.)
>>
>> With 2800 packages on CRAN, overall size is becoming a concern and currently
>> to install all of CRAN takes 4Gb.  As the attached (I hope) graph shows, the
>> 20 packages over 20Mb take a quarter, and those over 5Mb take half.  (And
>> this is after we have removed 100Mb from the largest installed package by
>> re-compression, and archived the second largest, so Robin's package is
>> currently the largest.)  Some of the largest packages are data/jar packages,
>> but there are 55 packages with 'doc' directories over 5Mb.  To put that in
>> perspective, PDFs of whole books with lots of figures (MASS, Paul's R
>> Graphics) are well under 5Mb.
>>
>> R CMD check in R-devel reports on large packages, and expect in future that
>> submitted package sizes will be questioned more often.
>>
>> There are lots of different reasons why doc directories are large, but the
>> major ones are
>>
>> - installing files that are unneeded, such as Rplots.pdf and .eps
>>   figures.
>> - using PDF figures of images where PNG would be more appropriate.
>> - including less than relevant material (such as how to install R,
>>   with screenshots!)
>>
>> There are several ways to reduce the sizes of PDFs with no loss in quality,
>> e.g. Adobe Acrobat Standard/Pro.
>>
>> --
>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford,             Tel:  +44 1865 272861 (self)
>> 1 South Parks Road,                     +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] CRAN package sizes
Kevin R. Coombes