stackprofを使って、Rspecのテストのパフォーマンス改善

stackprof を使えばrspecのプロファイリングが出来る戸言うことを知ったので、
早速テストでためしてみた。

Gemfileに追加して

そしてbundle install。

around hookでテストの開始前後での時間を計測します。
stackprofの設定は環境変数で渡します。

ということで、いかのようにspec_helper.rbに追加。

そして実行

指定したディレクトリにプロフファイリング結果がdumpされる

プロファイル結果を分析

この場合 ActiveSupport::Callbacks#run_callbacks が重そう。

こんな感じで重い箇所を洗い出して改善していける。

参考にしたページ
Profiling RSpec examples with Stackprof
railsアプリでstackprofを使ってボトルネックを探す + JSON::Schema(2.2.1)の高速化

Comments