diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index e3e0166a26ed5db7030bd7272beca6359214a8a3..b2211fdc1571c42786e2c48e094bede64ed3c36f 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).call(*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