มีวิธีที่เป็นมาตรฐานใน R ของการวัดเวลาดำเนินการของฟังก์ชั่นหรือไม่?
เห็นได้ชัดว่าฉันสามารถใช้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
มันดี มันให้รายละเอียดของกระบวนการทั้งหมดในรหัสชิ้น / ฟังก์ชั่น
require(microbenchmark)
ขณะนี้ (ตั้งแต่สองสามปีที่ผ่านมา) วิธีมาตรฐานของชุมชนในการทำสิ่งต่างๆ times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. นี้ไม่ได้สถิติเปรียบเทียบlm
VS glm
1000 พยายามมากกว่าsystem.time
การทดสอบเพียงครั้งเดียว
res <- microbenchmark(your code1,your code2)
แล้วprint(res)
เพื่อดูตารางหรือggplot2::autoplot(res)
เพื่อดู boxplot! การอ้างอิง
proc.time
สาเหตุที่system.time
เป็นสิ่งที่คุณต้องการ