Rで行列計算(行列の積)

RjpWikiによると「crossprod」と「%*%」では前者のほうが計算が速いとのこと。
実際にやってみた。
(環境:Windows 7 64bit、R3.4.0)

> x <- matrix(rnorm(25000000),c(5000,5000))
> y <- matrix(rnorm(25000000),c(5000,5000))
> system.time(a <- t(x) %*% y)
   ユーザ   システム       経過  
     85.10       0.11      85.20 
> system.time(b <- crossprod(x,y))
   ユーザ   システム       経過  
    129.95       0.09     130.16 
> identical(a,b)
[1] TRUE

同じことをMicrosoft R Openでもやってみた。
(環境:Windows 7 64bit、Microsoft R Open3.3.3)

> x <- matrix(rnorm(25000000),c(5000,5000))
> y <- matrix(rnorm(25000000),c(5000,5000))
> system.time(a <- t(x) %*% y)
   ユーザ   システム       経過  
     13.17       0.01       6.82 
> system.time(b <- crossprod(x,y))
   ユーザ   システム       経過  
     14.29       0.03       7.18 
> identical(a,b)
[1] TRUE

とにかくMicrosoft R Openは格段に速い。