Да, это даст последовательные результаты.Однако вам необходимо сообщить о тесте, и (если обработка миллиона строк выполняется слишком быстро), вам потребуется использовать переменную n
, чтобы выполнить итерацию несколько раз.(Начните с низкого n
и увеличивайте его, если ваше время находится в десятых или сотых долях секунды).
require 'benchmark'
# Prepare your test data here
n = 1
Benchmark.bm do |x|
x.report('technique 1') do
n.times do
# perform your string logic here
end
end
x.report('technique 2') do
n.times do
# perform your alternative logic here
end
end
end
Убедитесь, что вы выполняете несколько сравнений в одном блоке Benchmark;не пишите одну попытку, запишите числа, а затем измените код, чтобы запустить его снова.Это не только дополнительная работа для вас, но также может привести к неправильным сравнениям, если ваша машина находится в другом состоянии (или, если, боже мой, вы запустите один тест на одной машине, а другой - на другой).