Có cách nào được chuẩn hóa trong R về thời gian thực hiện chức năng không?
Rõ ràng là tôi có thể lấy system.time
trước và sau khi thực hiện và sau đó lấy sự khác biệt của những thứ đó, nhưng tôi muốn biết liệu có cách nào đó hoặc chức năng được tiêu chuẩn hóa (muốn không phát minh ra bánh xe).
Tôi dường như nhớ rằng tôi đã từng sử dụng một cái gì đó như dưới đây:
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
là tốt đẹp. Nó cung cấp một hồ sơ của tất cả các quy trình trong một đoạn mã / hàm.
require(microbenchmark)
bây giờ (từ một vài năm trước) theo cách tiêu chuẩn cộng đồng để mọi thứ thời gian. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. Điều này thực hiện so sánh thống kê so lm
với glm
hơn 1000 lần thử, thay vì system.time
chỉ thử nghiệm một lần.
proc.time
trong tâm trí nguyên nhânsystem.time
là một trong những bạn cần.