फ़ंक्शन के निष्पादन समय को मापने के आर में एक मानकीकृत तरीका है?
स्पष्ट रूप से मैं 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में एक कारण था जो आपको चाहिए।