[R] optimizing R-1.4.0 build on Solaris; a show-and-tell storry

Prof Brian Ripley ripley at stats.ox.ac.uk
Thu Dec 20 19:17:14 CET 2001


That's a 64-bit build.  Unless you really need it, -xarch=v8 (or omit it
altogether) will be faster (about 10% on my tests).

Most of the difference is turning optimization on (and debugging off)


On Thu, 20 Dec 2001, Gardar Johannesson wrote:

> This is a little success story about the benefits of changing
> the defaults in config.site when I was building R-1.4.0 for Solaris
> (on a Sun Sparc that I'm currently using).
>
> For previous versions of R, I had just used the default config.site and
> not given it any thought.  Since the Sun machine that I'm using
> is not getting any faster, I decided I would give config.site a look
> when building R-1.4.0.
>
> By default, doing './configure' and then 'make' in building R-1.4.0 from
> source, results in the following (short summary list) of compiling flags:
>
> BLAS = blas.o
> BLAS_LIBS =
> CC = cc
> CFLAGS = -g
> FC = f77
> FFLAGS = -g
>
> Following suggestions given in R-admin.html, I also build R-1.4.0
> with:
>
> BLAS =
> BLAS_LIBS = -xlic_lib=sunperf -lsunmath
> CC = cc -xarch=v9
> CFLAGS = -xO5 -xlibmil -dalign
> FC = f95 -xarch=v9
> FFLAGS = -xO5 -xlibmil -dalign
>
> I did few tests comparing the speed of these two builds.  In short, I
> saw about 65% speed improvement for general use, slightly more for
> regression problems (2-3 times), and considerable more in matrix
> multiplication (50 times).
>
> Here are the tests.
>
> 1) Timing the tests/Examples/base-Ex.R script.  I did the following for
>    the two builds:
>      time ./bin/R --vanilla < tests/Examples/base-Ex.R > tmp.out
>    resulting in the following times:
>      R-1.4.0-def: 227.70u 26.88s 4:20.34 97.7%
>      R-1.4.0-opt: 138.75u 30.90s 2:57.62 95.5%
>    for the default and optimized version, where 227.70u and 138.75u are
>    the users CPU time.  That is, the default is about 65% slower.
>
> 2) A little MCMC example that I have using a for-loop to generate 10,000
>    samples from the posterior:
>      R-1.4.0-def: 14.45 sec user CPU
>      R-1.4.0-opt:  8.96 sec user CPU
>      S-6.0      : 34.19 sec user CPU
>    where the last line is from S-plus 6.0 on the same machine.
>
> 3) A regression,
>      lm(ozone ~ ns(lat.band,df=15) +
>                 ns(lat.band,df=10):ns(lon.band,df=15),
>                 weights=1/var, data=data, na.action=na.omit))
>    where data has in one case 3240 rows and in a other case 12960 rows.
>    The number of estimated parameters is 166 in both cases.
>    For data with 3240 rows:
>      R-1.4.0-def: 7.12 sec user CPU time
>      R-1.4.0-opt: 2.90 sec user CPU time
>      S-6.0      : 3.78 sec user CPU time
>    For data with 12960 rows:
>      R-1.4.0-def: 28.34 sec user CPU time
>      R-1.4.0-opt: 14.97 sec user CPU time
>      S-6.0      : 13.70 sec user CPU time
>
> 4) The result of system.time(B <- A %*% A) where A is 500x500 matrix.
>      R-1.4.0-def: 18.83 sec user CPU time
>      R-1.4.0-opt:  0.37 sec user CPU time
>
>
> I hope this will be of use to somebody... cheers, Gardar
>
>
> _________________________________________________________
> Gardar Johannesson
>  Department of Statistics
> Ohio State University
> 304E Cockins Hall, 1958 Neil Av.
> Columbus, OH 43210
>
> Tel: 614-292-1567
> Fax: 614-292-2096
> e-mail: gardar at stat.ohio-state.edu
> WWW: www.stat.ohio-state.edu
> _________________________________________________________
>
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
>

-- 
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 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list