diff --git a/Changelog.md b/Changelog.md index 50f7e1766..052c2e8df 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,9 @@ +# v0.11.27 + +* [#1413](https://github.com/mbj/mutant/pull/1413) + + Add `Process.warmup` optimization for ruby-3.3+ which yields a noticable speed improvement. + # v0.11.26 2023-12-01 * [#1409](https://github.com/mbj/mutant/pull/1409) diff --git a/lib/mutant/mutation/runner.rb b/lib/mutant/mutation/runner.rb index 701274f22..aae49ed45 100644 --- a/lib/mutant/mutation/runner.rb +++ b/lib/mutant/mutation/runner.rb @@ -15,6 +15,8 @@ def self.call(env) def self.run_mutation_analysis(env) reporter = reporter(env) + warmup + env .record(:analysis) { run_driver(reporter, async_driver(env)) } .tap { |result| env.record(:report) { reporter.report(result) } } @@ -52,6 +54,10 @@ def self.mutation_test_config(env) end private_class_method :mutation_test_config + def self.warmup + Process.warmup if Process.respond_to?(:warmup) + end + def self.reporter(env) env.config.reporter end