2011-12-09 19 views
5

He visto (creo en SO) el uso de una función similar a system.time que evalúa el tiempo de múltiples funciones a la vez y escupe una salida. No puedo recordar de qué se trataba y una búsqueda en Internet con los términos que uso no da la respuesta que deseo.Probador multifuncional alternativo al sistema.tiempo

¿Alguien sabe el nombre/ubicación de la función de la que estoy hablando?

Respuesta

9

Desea el paquete rbenchmark y su función benchmark. (También existe la microbenchmark paquete relacionado y más especializados.)

Aquí es el comienzo de la sección de ejemplos:

R> example(benchmark) 

bnchmrR> # example 1 
bnchmrR> # benchmark the allocation of one 10^6-element numeric vector, 
bnchmrR> # replicated 100 times 
bnchmrR> benchmark(1:10^6) 
    test replications elapsed relative user.self sys.self user.child sys.child 
1 1:10^6   100 0.286  1  0.2  0.08   0   0 

bnchmrR> # Example 2 
bnchmrR> # A call to benchmark with two named expressions and three replication 
bnchmrR> # counts, output sorted by the replication counts and then by the 
bnchmrR> # elapsed time: 
bnchmrR> means.rep = function(n, m) 
bnchmr+ mean(replicate(n, rnorm(m))) 

bnchmrR> means.pat = function(n, m) 
bnchmr+ colMeans(array(rnorm(n*m), c(m, n))) 

bnchmrR> benchmark(
bnchmr+ rep=means.rep(100, 100), 
bnchmr+ pat=means.pat(100, 100), 
bnchmr+ replications=10^(1:3), 
bnchmr+ order=c('replications', 'elapsed')) 
    test replications elapsed relative user.self sys.self user.child sys.child 
4 pat   10 0.011 1.00000  0.02  0   0   0 
1 rep   10 0.015 1.36364  0.02  0   0   0 
5 pat   100 0.107 9.72727  0.10  0   0   0 
2 rep   100 0.155 14.09091  0.16  0   0   0 
6 pat   1000 1.073 97.54545  1.07  0   0   0 
3 rep   1000 1.553 141.18182  1.55  0   0   0 
+0

Eso es todo. Gracias Dirk. –

Cuestiones relacionadas