Philippe Grosjean wrote:
I suspect that your problem comes from the rbind(). I have also noticed an
exponentially slower execution with the increase of the size of the data
frame that you rbind()s. It is much faster to rbind() several separated
temporary data frames (let's say, ten by ten loops), and then to rbind()
them all together.

Got it in one. This is one place where Splus performance is much better than R. Some simulations I did makes it look like Splus does not just enlarge objects one element at a time. Instead, the underlying memory is enlarged in larger increments and additions to the array use this hidden space.


I thought about adding this feature, but in the end decided that pre-allocating the result is a better solution (the Splus enlargement strategy doesn't work when elements are prepended). At one one point there was a slot in the object header which could have served to hold the "true length" of objects, but I think that Luke Tierney has used it for other puposes.

--
Ross Ihaka                         Email:  [EMAIL PROTECTED]
Department of Statistics           Phone:  (64-9) 373-7599 x 85054
University of Auckland             Fax:    (64-9) 373-7018
Private Bag 92019, Auckland
New Zealand

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to