タグ

プロファイラに関するkoma_gのブックマーク (8)

  • GitHub - emeryberger/scalene: Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python

    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

    GitHub - emeryberger/scalene: Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
  • Python: memory_profiler でプログラムのメモリ使用量を調べる - CUBE SUGAR CONTAINER

    今回は memory_profiler というモジュールを使ってプログラムのメモリ使用量を調べる方法について紹介する。 pypi.python.org このブログでは、以前に Python のプロファイラとして profile/cProfile や line_profiler について書いたことがある。 これまでに紹介したこれらのプロファイラは、主に時間計算量の調査が目的となる。 それに対して memory_profiler では、調べる対象は空間計算量となる。 blog.amedama.jp blog.amedama.jp 使った環境は以下の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G1212 $ python --version Python 3.6.4 下準備 まずは mem

    Python: memory_profiler でプログラムのメモリ使用量を調べる - CUBE SUGAR CONTAINER
  • cProfileでpythonスクリプトのボトルネックを調べる - 唯物是真 @Scaled_Wurm

    Pythonのスクリプトの遅い部分を調べるためにcProfileという標準のプロファイラを使ってみました. プロファイラというのはプログラムの実行効率を調べるツールです. cProfileを使うと関数が呼び出された回数(再帰の有無含む)や,どれぐらいの時間を処理に使ったかなどがわかります. やり方 スクリプトの時間をはかる方法とPython内で関数を指定して調べる方法の2つがありますが,前者だけ紹介します. 以下のようにすれば指定したスクリプトの計測を行うことができます. python -m cProfile -s time スクリプト名.py標準のライブラリですが,OSによっては別にインストールしなければならない場合があるそうです. 実験用のプログラム 以下のプログラムを使って実験します. フィボナッチ数列のn番目の項を求めるプログラムで,fib_recursiveが再帰,fib_mem

    cProfileでpythonスクリプトのボトルネックを調べる - 唯物是真 @Scaled_Wurm
  • Pythonにおける効率的なデバック方法入門 - MyEnigma

    デバッグの理論と実践 ―なぜプログラムはうまく動かないのかposted with カエレバAndreas Zeller オライリージャパン 2012-12-22 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに pdbの使い方 各変数の値を見る アサーションと組み合わせる 異常終了したプログラムを解析する場合 pudbを使ったデバック方法 インストール方法 pudbの起動方法 cProfileによるプロファイリング 最後に 参考資料 MyEnigma Supporters はじめに 先日、Pythonにおけるテスト手法を説明しましたが、 myenigma.hatenablog.com どんなに上手くテストを組んでも、 ソフトウェアは急におかしい振る舞いをするものです笑 そんな時は、デバッガを使って、 ソフトウェアがどこでおかしい挙動をしているのかをチェック

    Pythonにおける効率的なデバック方法入門 - MyEnigma
  • Python: profile/cProfile モジュールでボトルネックを調べる - CUBE SUGAR CONTAINER

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

    Python: profile/cProfile モジュールでボトルネックを調べる - CUBE SUGAR CONTAINER
  • Pythonプロファイリング基礎 - Qiita

    プロファイリングとは 必要十分なスピードと無駄のないリソース使用量でコードを実行するためにボトルネックになっている処理を特定すること python用の有名なツール Pythonとtimeit cProfile line_profiler memory_profiler ツールの紹介 IPythonとtimeit python対話型インタンプリタの拡張版 timeitモジュールでテスト回数(-r)、ループ回数(-n)を指定して平均実行時間を計測 短いコードを直接実行とコードファイルをインポートして実行の2パターンがある インストール

    Pythonプロファイリング基礎 - Qiita
  • Python の新しいプロファイラ vmprof が面白い - methaneのブログ

    PyPy 2.6 と同時に、 vmprof という CPython/PyPy 用のプロファイラが登場しました。 私はまだ PyPy では使っていませんが、CPythonプロジェクトをこれでプロファイル取ってみたらなかなか面白かったので紹介します。 概要 Python にはもともと標準ライブラリとしてプロファイラ (cProfile) が付いてきていますが、これは関数の呼び出しと戻りでコールバック関数を呼び出しつつ実行時間を計測するタイプのプロファイラで、短時間でも正確なプロファイルが取れる反面、オーバーヘッドが大きく、小さい関数をたくさん呼び出す部分がオーバーヘッドでより大きく見えてしまうなどの問題がありました。 これと別の種類のプロファイラとして、定期的にサンプリングして、サンプルが多いところが実行時間も多いハズ、というプロファイラもあります。こちらはある程度の量のサンプルを集めないと

    Python の新しいプロファイラ vmprof が面白い - methaneのブログ
  • Pythonスクリプトのパフォーマンス計測ガイド | Yakst

    Pythonスクリプトの速度を計測し、そのボトルネックを探る。さらに、メモリ使用量、メモリリークの原因特定までの調査方法を解説する。 あなたが書いたすべてのPythonプログラムで厳密なパフォーマンス計測が必要になるというわけではないにせよ、その時が来たら、役に立ってくれる様々な種類のツールがPythonのエコシステムにはあるのだということを知っておけば安心できるだろう。 プログラムのパフォーマンスを計測することは、すなわち以下の4つの基的な質問に答えることだと要約できる。 どのくらい高速に実行できるか? スピードのボトルネックはどこか? どのくらいのメモリを使うか? メモリリークしているのはどこか? これから、いくつかの素晴らしいツールを使ってこれらの質問に答えていくための詳細を見ていこう。 大ざっぱな実行時間 素早くざっくりとコードの実行時間を計るのに、古き良きUNIXのユーティリテ

    Pythonスクリプトのパフォーマンス計測ガイド | Yakst
  • 1