On May 8, 2010, at 2:53 PM, Gardar Johannesson wrote: > I was just replacing a Macbook Pro from 2008 (with a 2.2GHz Intel Core 2 Duo) > with a new Macbook Pro (with a 2.4GHz Intel Core i5). To get a rough idea > about the difference in R execution speed I ran a small test, with the output > shown below. In short: > > 1) The new Macbook Pro was ca 60% _slower_ at linear algebra (crossprod() and > solve()) > 2) The new Macbook Pro was ca 17% faster on a long for-loop > 3) Linking against Goto2 versus vecLib improved the linear algebra results > slightly > > Both test were done using the same 2.11.0 dmg image from CRAN. > > Any thoughts on this? >
What OS X versions are on the respective machines? The vecLib performance varies greatly with their versions. > Any ideas how I can improve the performance results? What about compiling > from source? > Note that you are essentially just comparing the BLAS libraries on each machine, R is practically not involved in this at all, so if you meant R in the "compiling from source" then the answer is likely no (R speed is what you see in the loops). I don't have an i5 arounds, but comparing similar architectures (Penryn vs Nehalem) gives a slight edge to Nehalem (3.8s @ 2.8GHz vs 3.4s @ 2.66Ghz on solve(B)) but that is for a Xeon so the memory speed may be the edge (everything on OS X 10.6.3). Cheers, Simon > > Thanks, > Gardar Johannesson > > > ########################################### > ## Results from new macbook pro (Core i5 @ 2.4Ghz) > >> set.seed(1) >> A <- matrix(rnorm(2000*2000),2000,2000) >> system.time(B <- crossprod(A)) > user system elapsed > 2.500 0.058 0.816 >> system.time(B <- crossprod(A)) > user system elapsed > 2.502 0.050 0.814 >> system.time(solve(B)) > user system elapsed > 7.208 0.265 2.740 >> system.time(solve(B)) > user system elapsed > 7.121 0.264 2.666 >> system.time({a <- rep(1.0,100); for(i in 1:1e6) a <- 1.0*a+0.0}) > user system elapsed > 2.964 0.602 3.528 >> system.time({a <- rep(1.0,100); for(i in 1:1e6) a <- 1.0*a+0.0}) > user system elapsed > 3.040 0.732 3.732 >> sessionInfo() > R version 2.11.0 (2010-04-22) > i386-apple-darwin9.8.0 > > locale: > [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > loaded via a namespace (and not attached): > [1] tools_2.11.0 >> > > ################################################### > ## Results from old macbook pro (Core 2 Duo @ 2.2GHz) > >> set.seed(1) >> A <- matrix(rnorm(2000*2000),2000,2000) >> system.time(B <- crossprod(A)) > user system elapsed > 1.429 0.073 0.800 >> system.time(B <- crossprod(A)) > user system elapsed > 1.429 0.064 0.874 >> system.time(solve(B)) > user system elapsed > 4.532 0.285 2.860 >> system.time(solve(B)) > user system elapsed > 4.521 0.281 2.834 >> system.time({a <- rep(1.0,100); for(i in 1:1e6) a <- 1.0*a+0.0}) > user system elapsed > 3.501 0.764 4.215 >> system.time({a <- rep(1.0,100); for(i in 1:1e6) a <- 1.0*a+0.0}) > user system elapsed > 3.459 0.702 4.113 >> sessionInfo() > R version 2.11.0 (2010-04-22) > i386-apple-darwin9.8.0 > > locale: > [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base >> > > > ################################################### > ## Results from new macbook pro (Core i5 @ 2.4Ghz) > ## Linking against Goto2 BLAS (vs vecLib) > >> set.seed(1) >> A <- matrix(rnorm(2000*2000),2000,2000) >> system.time(B <- crossprod(A)) > user system elapsed > 2.348 0.124 0.635 >> system.time(B <- crossprod(A)) > user system elapsed > 2.342 0.110 0.622 >> system.time(solve(B)) > user system elapsed > 6.634 0.327 2.158 >> system.time(solve(B)) > user system elapsed > 6.697 0.348 2.034 >> system.time({a <- rep(1.0,100); for(i in 1:1e6) a <- 1.0*a+0.0}) > user system elapsed > 2.577 0.548 2.885 >> system.time({a <- rep(1.0,100); for(i in 1:1e6) a <- 1.0*a+0.0}) > user system elapsed > 2.411 0.478 2.859 >> sessionInfo() > R version 2.11.0 (2010-04-22) > i386-apple-darwin9.8.0 > > locale: > [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 > > _______________________________________________ > R-SIG-Mac mailing list > R-SIG-Mac@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/r-sig-mac > > _______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-mac