2015-02-23 34 views
1

所有的比較,我想知道下面會不會給我的這些功能的運行時間的準確assesment。如果我知道複製是否按順序完成,我會對結果充滿信心,但我不知道。謝謝。精度運行

system.time(replicate(8000,function1(4,5))) 
system.time(replicate(8000,function2(4,5))) 
system.time(replicate(8000,function3(4,5))) 

回答

2

如果檢查replicate的源代碼,你會看到是這樣的:

> replicate 
function (n, expr, simplify = "array") 
sapply(integer(n), eval.parent(substitute(function(...) expr)), 
    simplify = simplify) 
<bytecode: 0x000000000b3b1ee8> 
<environment: namespace:base> 

因爲它在它的源代碼使用sapply那麼是的,它是按順序爲sapply實際上是寫在一個for-loopC。所以,是的,這是一個相當準確的評估。

你也可以嘗試microbenchmark套餐,計算更加精確的運行時間。