Когда бенчмаркинг
Я тестирую некоторый код, который создает много объектов, и я заметил, что мои тесты сильно различаются.Я определил, что пики были из сборки мусора, запущенной во время моего теста .
Управление процессом вручную дает мне более последовательные тесты.
def without_gc
GC.start # start out clean
GC.disable
yield
GC.enable
end
without_gc do
Benchmark.measure { some_code }
end
Тем не менее, GC.start
приведет к значительному замедлению, если вы запустите его несколько раз.