裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

compiler はなかなか優れもの

2011年11月05日 | ブログラミング

簡単に使えて,効果もそれなりに見込める

> func <- function(xa, xb) {
+     xab <- integer(length(c(xa, xb))-1)
+     for (i in seq.int(xa))
+         for (j in seq.int(xb))
+             xab[i+j-1] <- xab[i+j-1]+xa[i]*xb[j]
+     return(xab)
+ }
> system.time(a <- func(1:100, 10:200))
   ユーザ   システム       経過 
     0.160      0.001      0.159
> library(compiler)
> func2 <- cmpfun(func)
> system.time(b <- func2(1:100, 10:200))
   ユーザ   システム       経過 
     0.054      0.002      0.065 # 3 倍速い
> all.equal(a, b)
[1] TRUE


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村