On May 10, 2010, at 3:44 PM, Stefan Evert wrote: > Just a thought: Wouldn't it make more sense to compare the "elapsed" times, > which show that both machines are more or less equally fast (with a slide > edge for the newer i5)? > > I suspect that there is a change in the way "user" time is reported, which > probably adds up running times of four hyperthreads running on two cores for > the i5 CPU vs. only two threads on two cores for the Core 2 Duo. If I'm not > mistaken about the i5 architecture, this is not surprising: there are 4 > threads, but they have to share 2 cores and don't seem to be able to run the > FP instructions in parallel on a single core; so they're running at half > speed only. >
Oh my - how could I miss that :) Stefan, you're right - the elapsed is indeed shorter on the i5 so ATLAS simply spreads some part across threads without any gain (unsurprising on such small tasks). I got thrown off by the fact that Shark was not reporting other threads, byt that may be an issue in Shark... > Thanks for the benchmark, by the way. It's good to know I'm not missing out > on R performance with my good old 2008 MacBook Pro. :-) > Well, ever since the GHz race is over the performance of machines has not increased (or even to the contrary) since it's hard to feed all cores for common R tasks in practice and per-thread speed has gone down (see the old Nehalem benchmarks thread - unfortunately it's still true). Cheers, Simon > > On 8 May 2010, at 20:53, Gardar Johannesson wrote: > >> ########################################### >> ## 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 >> > >> ################################################### >> ## 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 > > _______________________________________________ > 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