I found the following message maybe help. And I will try it.


Hi there,

  I have just found that the ``attach'' function
can get you into trouble when called many times.
For example, you have a simulation routine called ``f()'',
in which you used ``attach'' and no corresponding ``detach''.
Then you call this function many times. You will find that
the system performance get slower and slower,
because you are making the R search path longer and longer.
So be careful when you use attach in a function!

  Below is a demonstration of this performance loss,
you will see a linear growth in CPU time usage.
Adding a ``detach()'' call at the end of ``f''
will get rid of this problem.

###############################
f <- function(){
  theta <- list(one=2.0, two=0.3, three=0.4)
  attach(theta)
  x <- c(one, two, three)
  sample(x, 1)
}
test <- function(n=400){
  timeu <- numeric(n)
  for(i in seq(n)){
    timeu[i] <-
      system.time({
        resi <- f()
      })[3]
  }
  plot(timeu)
}
test()
##############################
-- 
Sincerely,
Changbin
--

	[[alternative HTML version deleted]]

