# compiler require(compiler) la1 <- function(X, FUN, ...) { FUN <- match.fun(FUN) if (!is.list(X)) X <- as.list(X) rval <- vector("list", length(X)) for(i in seq(along = X)) rval[i] <- list(FUN(X[[i]], ...)) names(rval) <- names(X) # keep `names' ! return(rval) } la1c <- cmpfun(la1) y <- 1:1000 system.time(for (i in 1:1000) la1(y, is.null)) system.time(for (i in 1:1000) la1c(y, is.null)) # bigmemory require(bigmemory) require(biganalytics) require(biglm) # x <- read.big.matrix("sim.csv", type ="double", header =TRUE , backingfile ="sim.bin", descriptorfile ="sim.desc ") # system.time(a1 <- read.csv("sim.csv")) system.time(a2 <- attach.resource(dget("sim.desc"))) class(a2) object.size(a2) a2[1,] dim(a2) system.time(lmm.big <- biglm.big.matrix(VAR01 ~ VAR02 + VAR03 + VAR04 + VAR05 + VAR06 + VAR07 + VAR08 + VAR09, data=a2)) # GOTO BLAS # Download "blasctl" from http://prs.ism.ac.jp/~nakama/SurviveGotoBLAS2/blas_control_on_R/ , and install it. # Download "Goto blas" from http://prs.ism.ac.jp/~nakama/SurviveGotoBLAS2/binary/windows/ , and repalce the "Rblas.dll" require(blasctl) A<-matrix(runif(3000^2),3000,3000) blas_get_num_procs() system.time(A%*%A) blas_set_num_threads(4) system.time(A%*%A)