最近、仕事でアプリのパフォーマンス改善することがあったのだけれど、ちゃんと計測することが大事だということで、benchmark-ipsを使ってみた。
今後使うこともあると思うのでメモっておく。
設定とかの絡みがあったので rails runner
で実行した。
require 'yaml'
require 'benchmark/ips'
settings = YAML.load(ERB.new(File.read(File.expand_path('./config/database.yml'))).result)
ActiveRecord::Base.establish_connection(
settings['development']
)
Benchmark.ips do |x|
x.config(time: 5, warmup: 2)
x.report('#method_a') do
# do something
end
x.report('#method_b') do
# do something
end
x.compare!
end