blog.kotamiyake.me

為せば成る、為さねば成らぬ何事も

最近、仕事でアプリのパフォーマンス改善することがあったのだけれど、ちゃんと計測することが大事だということで、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