Measuring performance of functions in R

Rlogo
In R you can use the system.time(function) function to test the time it takes to execute a function. Because I had to do some extended performance testing in R, I wrote a new function based on system.time which gives you the possibility to run multiple samples of a function, to increase the reliability of the measurements. The function is called performance, and takes three arguments: the function you want to test, the number of samples (1 by default), and whether garbage collection should be performed before each function run (yes by default).

For instance:

> performance(complex.function(1,5,"goal"), samples=100)

Average time per run:
-----------------------------
User System Elapsed
0.338 0.014 0.352

Total time for all runs:
------------------------
User System Elapsed
33.805 1.369 35.212

I included 'performance' in my R basic functions (see also Customizing R: startup script).