.NETライブラリ。C#のメソッドを、ウォームアップや統計情報、結果レポート付きの再現可能なベンチマークに変換できます。
pyutils/line_profiler
Python関数の各ソース行にかかる時間を表示する、行単位のプロファイラー。
- スター
- 3,252
- フォーク
- 143
- 未解決の Issue
- 59
- 最終コミット
- 20 日前
これは何?
line_profilerは、Python関数内の実行時間を行単位で計測します。関数単位のプロファイリングで遅い関数が見つかり、どの行が時間を消費しているのか特定したい場合に役立ちます。対象の関数に@profileデコレーターを付けると、スクリプトの終了時に各行の実行回数、所要時間、全体に占める割合が出力されます。
推奨される使い方は、line_profilerからprofileをインポートし、計測したい関数にデコレーターを付けて、スクリプトの実行前に環境変数LINE_PROFILE=1を設定する方法です。パッケージにはコマンドラインヘルパーのkernprofも含まれており、従来のkernprof -lvを使ったワークフローにも対応しています。インストールにはpipを使用し、Python 3.10以降が必要です。
このリポジトリはメンテナンスが継続されているフォークで、現在PyPIのline_profilerパッケージはこのリポジトリを参照しています。元のプロジェクトはrkernが開発しました。ドキュメントには基本的な使い方、例、FAQが掲載されています。
主な機能
- 01デコレーターを付けた関数について、各行の実行回数、所要時間、割合を表示します。
- 02@profileデコレーターとLINE_PROFILE環境変数を使ってプロファイリングを有効にできます。
- 03コマンドラインヘルパーのkernprofが付属します。
- 04pipでPyPIからインストールでき、一般的なプラットフォーム向けのwheelも提供されています。
- 05ipython extraを使ったIPython連携に対応しています(任意)。
ユースケース
- 実行が遅いPython関数の中で、どの行が実行時間の大半を占めているかを特定する。
- 最適化の前に、データ処理スクリプトや数値計算スクリプトをプロファイリングする。
- 負荷の高い関数の特定の行について、コード変更の効果を確認する。
クイックスタート
- 1
pipでline_profilerをインストールします
pip install line_profiler - 2
profileをインポートし、プロファイルしたい関数にデコレーターを付けます
- 3
LINE_PROFILE=1を設定し、通常どおりスクリプトを実行します
使う前に知っておきたいこと
- Python 3.10以降が必要です。古いバージョンのPythonでは、より古いリリースが必要です。
- ソースからインストールする場合はCコンパイラーが必要になることがあります。また、git checkoutからインストールする場合はCythonも必要です。
トピック
よくある質問
- line_profiler とは?
- Python関数の各ソース行にかかる時間を表示する、行単位のプロファイラー。 line_profilerは、Python関数内の実行時間を行単位で計測します。関数単位のプロファイリングで遅い関数が見つかり、どの行が時間を消費しているのか特定したい場合に役立ちます。対象の関数に@profileデコレーターを付けると、スクリプトの終了時に各行の実行回数、所要時間、全体に占める割合が出力されます。
- line_profiler は無料で使えますか?ライセンスは?
- line_profiler は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- line_profiler は今もメンテナンスされていますか?
- 活発にメンテナンス中。line_profiler の最終コミットは 2026年10月18日 です。
- line_profiler は何に使えますか?
- 実行が遅いPython関数の中で、どの行が実行時間の大半を占めているかを特定する。 最適化の前に、データ処理スクリプトや数値計算スクリプトをプロファイリングする。 負荷の高い関数の特定の行について、コード変更の効果を確認する。
- line_profiler のインストール方法は?
- pipでline_profilerをインストールします: pip install line_profiler profileをインポートし、プロファイルしたい関数にデコレーターを付けます LINE_PROFILE=1を設定し、通常どおりスクリプトを実行します
- line_profiler はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pyutils/line_profiler
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
主にLaravelアプリ向けのPHP開発ツール。リクエストデータ、クエリ、ログ、タイムラインなどをブラウザで確認できます。
主にベンチマーク用途を想定した、AIコーディングエージェント向けの.NET 10~11性能チューニングのヒントをまとめた単一のSKILL.md。
Pythonコード、ネイティブ拡張、インタープリターのメモリ割り当てを追跡し、複数形式のレポートを生成するPython用メモリプロファイラーです。
関数呼び出しを記録し、コードの実行をインタラクティブなタイムラインで可視化する、低オーバーヘッドのPythonトレーサーです。
実行中のPythonプロセスをプロファイリングする、C製の低オーバーヘッド・計測コード不要なCPythonフレームスタックサンプラー。