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, . . <[email protected]> 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")
>
> ______________________________________________
> [email protected] 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?

______________________________________________
[email protected] 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.

Reply via email to