Repolode
pyutils

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. 1

    pipでline_profilerをインストールします

    pip install line_profiler
  2. 2

    profileをインポートし、プロファイルしたい関数にデコレーターを付けます

  3. 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 の数値は毎日更新されます。

関連プロジェクト

Pythonコード、ネイティブ拡張、インタープリターのメモリ割り当てを追跡し、複数形式のレポートを生成するPython用メモリプロファイラーです。

開発ツール#python#memory-profiler#memory-leak
1.5万+12 今週486PythonApache-2.0活発にメンテナンス更新 4 日前