फ़ंक्शन के निष्पादन समय को मापने के आर में एक मानकीकृत तरीका है?
स्पष्ट रूप से मैं system.time
निष्पादन से पहले और बाद में ले सकता हूं और फिर उन का अंतर ले सकता हूं, लेकिन मैं जानना चाहूंगा कि क्या कुछ मानकीकृत तरीका या कार्य है (पहिया का आविष्कार नहीं करना चाहते हैं)।
मुझे याद है कि मैंने एक बार नीचे की तरह कुछ का उपयोग किया है:
somesysfunction("myfunction(with,arguments)")
> Start time : 2001-01-01 00:00:00 # output of somesysfunction
> "Result" "of" "myfunction" # output of myfunction
> End time : 2001-01-01 00:00:10 # output of somesysfunction
> Total Execution time : 10 seconds # output of somesysfunction
Rprof
अच्छा है। यह एक कोड chunk / फ़ंक्शन में सभी प्रक्रियाओं की एक प्रोफ़ाइल प्रदान करता है।
require(microbenchmark)
अब (कुछ साल पहले से) सामुदायिक मानक तरीका समय चीजों के लिए। times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
। यह एक करता है सांख्यिकीय की तुलना lm
बनाम glm
बजाय 1000 से अधिक की कोशिश करता, system.time
केवल एक बार परीक्षण।
proc.time
मनsystem.time
में एक कारण था जो आपको चाहिए।