#-------------------------------
# test compilazione
#
# GdA 16 marzo 2012
#-------------------------------

library(compiler)

# funzione con banale loop 
s.fun <- function(n, a) {
  for(i in 1:n) a <- a+0.02
  return(a)
}

# funzione compilata
fun <-  cmpfun(s.fun)
# Nota: i nomi delle funzioni prima e dopo la compilazione
# sono assolutamente arbitrari!

n <- 10000000
t1 <- Sys.time()
a <- 1.1
a <- s.fun(n, a)
print(a)
t2 <- Sys.time()
cat(sprintf(" Tempo impiegato: %f s\n", t2-t1))
cat("\n\n Versione compilata:\n")

t1 <- Sys.time()
a <- 1.1
a <- fun(n, a)
print(a)
t2 <- Sys.time()
cat(sprintf(" Tempo impiegato: %f s\n", t2-t1))
cat("\n\n")

 

