Написах кратък ruby скрипт, за да определя времето за изпълнение на помощна програма за командния ред, която имам. Използвам Benchmark
module на ruby така:
Benchmark.bm(" "*7 + CAPTION, 7, FMTSTR, ">avg:") do |bench|
#this loops over a couple of runs
bench.report("Run #{run}: ") do
begin
Timeout::timeout(time) {
res = `#{command}`
}
rescue Timeout::Error
end
end
end
Използването на таймаут вероятно е малко грубо, но трябва да е добре за моите нужди. Проблемът е, че Benchmark.bm
просто отпечатва резултатите от бенчмарка. Бих искал да мога да ги запазя във файл за по-нататъшна обработка (изпълнява се няколко пъти в един скрипт, така че не искам просто да използвам изхода на терминала - изглежда твърде много усилия за нещо толкова просто)