タグ

PythonとProfilingに関するkutakutatriangleのブックマーク (2)

  • Python: profile/cProfile モジュールでボトルネックを調べる - CUBE SUGAR CONTAINER

    プログラムを作ってみたは良いけれど、想定していたよりもパフォーマンスが出ないという事態はよくある。 そんなときはパフォーマンス・チューニングをするわけだけど、それにはまず測定が必要になる。 具体的に何を測定するかというと、プログラムの中のどこがボトルネックになっているかという点だ。 この測定の作業は一般にプロファイリングと呼ばれる。 プロファイリングにはふたつの種類がある。 ひとつ目は今回紹介する profile/cProfile モジュールが採用している決定論的プロファイリング。 そして、もうひとつが統計的プロファイリングだ。 決定論的プロファイリングでは、プログラムが実行されていく過程を逐一記録していく。 そのため、時間のかかっている処理を正確に把握することができる。 ただし、測定自体がプログラムに与える影響 (プローブ・エフェクト) も大きくなる。 それに対し統計的プロファイリングで

    Python: profile/cProfile モジュールでボトルネックを調べる - CUBE SUGAR CONTAINER
  • WSGI ミドルウェアとして使えるラインプロファイラを作った話 - ymyzk’s blog

    この記事は CAMPHOR- Advent Calendar 2016 の1日目の記事です. Python の WSGI ミドルウェアとして使えるラインプロファイラ wsgi_lineprof を作成しました. wsgi_lineprof は Django や Pyramid, Flask, Bottle などの WSGI 互換のアプリケーションやフレームワークと組み合わせて利用できるようになっています. 背景 Web アプリケーションを作成する際に, ボトルネックとなっている部分を発見するために, ラインプロファイラは有用です. Ruby での WSGI に対応する Rack には rack-lineprof というライブラリがあり, Rack の middleware として簡単にラインプロファイラを利用できます. ISUCON の参加記事等を見ていると, Ruby ユーザーはこのライ

    WSGI ミドルウェアとして使えるラインプロファイラを作った話 - ymyzk’s blog
  • 1