(echo 'library(MASS);set.seed(1)' && cat library/MASS/R-ex/*) | time R --slaveFor future reference reproduce the resulting script based on VR_7.2-41 package here: MASS-ex.R
Results for a rough reference:
| R version | BLAS | OS | Machine | Wall clock | CPU time |
|---|---|---|---|---|---|
| R 2.7.0 | vecLib | Mac OS X 10.5 | Mac Pro 2.6GHz | 17.8s | 17.1s |
R-benchmark-24.R - R benchmark 2.4, a modification of R benchmark 2.3 to work with current R and Matrix package
R-benchmark-25.R - R benchmark 2.5, same as above but scaled to more realistic times on current hardware. For rough comparison the results on a Mac Pro 2.6GHz, Mac OS X 10.5.3 and R 2.7.0 (vecLib) are as follows:
R Benchmark 2.5
===============
Number of times each test is run__________________________: 3
I. Matrix calculation
---------------------
Creation, transp., deformation of a 2500x2500 matrix (sec): 1.10533333333333
2400x2400 normal distributed random matrix ^1000____ (sec): 0.986333333333334
Sorting of 7,000,000 random values__________________ (sec): 1.044
2800x2800 cross-product matrix (b = a' * a)_________ (sec): 1.02333333333333
Linear regr. over a 3000x3000 matrix (c = a \ b')___ (sec): 0.873666666666665
--------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.01760783769740
II. Matrix functions
--------------------
FFT over 2,400,000 random values____________________ (sec): 1.175
Eigenvalues of a 640x640 random matrix______________ (sec): 1.18100000000000
Determinant of a 2500x2500 random matrix____________ (sec): 1.024
Cholesky decomposition of a 3000x3000 matrix________ (sec): 1.22600000000000
Inverse of a 1600x1600 random matrix________________ (sec): 1.04733333333333
--------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.13272433303719
III. Programmation
------------------
3,500,000 Fibonacci numbers calculation (vector calc)(sec): 1.14866666666667
Creation of a 3000x3000 Hilbert matrix (matrix calc) (sec): 0.984666666666667
Grand common divisors of 400,000 pairs (recursion)__ (sec): 1.0960
Creation of a 500x500 Toeplitz matrix (loops)_______ (sec): 1.13266666666667
Escoufier's method on a 45x45 matrix (mixed)________ (sec): 1.03999999999999
--------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.08888497297556
Total time for all 15 tests_________________________ (sec): 16.088
Overall mean (sum of I, II and III trimmed means/3)_ (sec): 1.07868728433365
--- End of test ---
Again results on the Mac Pro and R 2.7.0:
[1] "hilbert n=500" user system elapsed 0.312 0.143 0.340 user system elapsed 0.270 0.141 0.284 user system elapsed 0.270 0.142 0.284 [1] "hilbert n=1000" user system elapsed 1.689 0.690 1.576 user system elapsed 1.595 0.694 1.475 user system elapsed 1.607 0.692 1.495 [1] "sort n=6" user system elapsed 0.372 0.019 0.390 user system elapsed 0.367 0.019 0.386 user system elapsed 0.368 0.018 0.385 [1] "sort n=7" user system elapsed 4.603 0.183 4.787 user system elapsed 4.584 0.184 4.769 user system elapsed 4.588 0.179 4.768 [1] "loess n=3" user system elapsed 0.089 0.001 0.089 user system elapsed 0.085 0.001 0.085 user system elapsed 0.085 0.001 0.085 user system elapsed 0.085 0.001 0.086 user system elapsed 0.087 0.001 0.087 [1] "loess n=4" user system elapsed 6.932 0.022 6.957 user system elapsed 6.917 0.023 6.942 user system elapsed 6.897 0.017 6.915 user system elapsed 7.033 0.024 7.109 user system elapsed 6.955 0.021 6.983
Note: be always careful when comparing benchmarks. It is important to look at the variance ot see if the results are reasonable (unfortunately R benchmark test above don't report it although it would be easy to modify it). In practice it often turns out that R behaves differently than in benchmarks simply because of the complexity and various components involved (we even had a case where an optimized BLAS was fasted on all benchmarks yet resulted in more than 10x slowed perofrmance on a real-world problem - unfortunately I cannot find that e-mail anymore - I'd like to add that test).