blob: ee1f88be82ba0a424fc447e7aa4a3cfc67e753b2 (
plain) (
tree)
|
|
require 'benchmark'
module ActionView
module Helpers
module BenchmarkHelper
# Measures the execution time of a block in a template and reports the result to the log. Example:
#
# <% benchmark "Notes section" do %>
# <%= expensive_notes_operation %>
# <% end %>
#
# Will add something like "Notes section (0.345234)" to the log.
def benchmark(message = "Benchmarking", &block)
bm = Benchmark.measure do
block.call
end
@logger.info("#{message} (#{bm.real})")
end
end
end
end
|