From 7a59a3ee37966ad2378a3d96fbedde42506c5e00 Mon Sep 17 00:00:00 2001 From: Xu Cheng Date: Tue, 16 Jun 2015 15:44:23 +0800 Subject: [PATCH] audit: add benchmark inject code --- Library/Homebrew/cmd/audit.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index e3e0166a26..38912aeedc 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -20,6 +20,26 @@ module Homebrew ENV.activate_extensions! ENV.setup_build_environment + if ARGV.switch? "D" + FormulaAuditor.module_eval do + instance_methods.grep(/audit_/).map do |name| + method = instance_method(name) + define_method(name) do |*args, &block| + begin + time = Time.now + method.bind(self).(*args, &block) + ensure + $times[name] ||= 0 + $times[name] += Time.now - time + end + end + end + end + + $times = {} + at_exit { puts $times.sort_by{ |k, v| v }.map{ |k, v| "#{k}: #{v}" } } + end + ff = if ARGV.named.empty? Formula else