Do a little debugging on your code (put print(f1)) and you will see that you keep adding to the length of the expression to be evaluated and the results you see are correct. Learn how to debug your functions.
On Thu, Sep 1, 2011 at 8:10 AM, . . <xkzi...@gmail.com> wrote: > Why time is increasing for the same operation? > > I was expecting +/- the same time for each n. > > Thanks in advance. > > bench <- function(f1, n, ...) { > t <- 0 > for(i in 1:n) { > func <- function(x) x^2 > expr <- list(...)[1] > f1 <- c("system.time(y <- ", gsub("XXX",expr,f1),")[3]") > t1 <- eval(parse(text = f1)) > printf("time %d: %f\n", i, t1) > t <- t + t1 > } > t <- t/n > printf("mean time: %f", t) > } > bench("func(XXX)", 10, "1:100") > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.