タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
タイトルは釣りです。明日 ISUCON 10の予選があると小耳に挟んだので、Ruby で参加する人が絶対に抑えておくべき? Ruby 高速化の tips をひとつ。stackprof --d3-flamegraph のご紹介です。 例題 ちょうど今日、gem install aws-sdk にかかる時間を 37 秒から 24 秒ほどに高速化しました。 変更前: $ time ruby -I lib bin/gem install --no-doc aws-sdk Successfully installed aws-sdk-3.0.1 1 gem installed real 0m37.104s user 0m36.952s sys 0m0.333s 変更後: $ time ruby -I lib bin/gem install --no-doc aws-sdk Successfully
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
(↓これは FlameGraph に描かせたもの) こういう図を描いてみました。 手順 準備 説明用の簡単なサンプルです。1 + 2 のような入力を受理するパーサ。 ログ出力のために @yydebug, @racc_debug_out を設定しておきます。 # sample_add.y class Parser rule expr: INT "+" INT { puts "expression found" result = val } end ---- inner def initialize # parser.rb を使ったときにデバッグ情報を出力する @yydebug = true # デバッグ情報の出力先をファイルに変更(デフォルトでは標準エラー出力) …… これは必須ではない @racc_debug_out = File.open("debug.log", "wb") end d
この記事を3行で AWS X-Rayをpytestで使うと便利 関数の通過や例外の発生をassertでテストできる X-Rayの可視化にFlameGraphを使えば、各関数の実行時間が分かりやすい この記事を書く理由 AWS X-Rayが便利なので、AWS環境へのデプロイの前でも使える使い方を紹介したい。 完成後の挙動 この記事で作成する単体テストを、Pytestで実行すると、 単体テストが吐き出したX-Rayのデータをもとに、下のようなグラフがローカルのPC上に作成されます。 FlameGraphと呼ばれているグラフです。炎のように下から上に伸びていくことが特徴です。 グラフの縦の方向は関数の呼び出しを表しています。 たとえばこのグラフなら、下から上に読んで、lambda_handler関数がnetwork_process関数を呼び出して、そこからgoogle.co.jpへのリクエストを
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く