[R-SIG-Mac] Perplexed benchmark result from a new Macbook Pro Core i5
Simon Urbanek
simon.urbanek at r-project.org
Mon May 10 15:20:42 CEST 2010
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 at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>
>
More information about the R-SIG-Mac
mailing list