2011-12-09 15 views
5

Birden fazla fonksiyonun zamanını bir kerede değerlendiren ve bir çıkıştan çıkan sistem.time işlevine benzer bir fonksiyonun kullanıldığını gördüm (SO üzerinde düşünüyorum). Ne olduğunu hatırlayamıyorum ve kullandığım terimlerle yapılan bir internet araması istediğim cevabı vermez.System.time için çok işlevli test cihazı alternatifi

Bahsettiğim işlevin adını/yerini bilen var mı?

cevap

9

rbenchmark paketini ve benchmark işlevini istiyorsunuz. (Ayrıca ilgili ve daha özel microbenchmark paketi yok.) Burada

örnek bölümünün başlangıcı: bu kadar

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

. Teşekkürler Dirk. –

İlgili konular