# 8 `hotshot` -- ハイパフォーマンス・ロギング・プロファイラ

バージョン 2.2 で 新たに追加 された仕様です。

このモジュールは `_hotshot` C モジュールへのより良いインターフェー スを提供します。Hotshot は既存の `profile` に置き換わるもの です。その大半が C で書かれているため、`profile` に比べパフォー マンス上の影響がはるかに少なく済みます。

`hotshot` は C モジュールでプロファイル中のオーバーヘッドを 極力小さくすることに焦点を絞っており、その代わりに後処理時間の長さという つけを払います。通常の使用法についてはこのモジュールではなく `cProfile` を使うことを推奨します。`hotshot` は保守され ておらず、将来的には標準ライブラリから外されるかもしれません。

バージョン 2.5 で 変更 された仕様: 以前より意味のある結果が得られているはずです。 かつては時間計測の中核部分に致命的なバグがありました

`hotshot`プロファイラはまだスレッド環境ではうまく動作しません。 測定したいコード上でプロファイラを実行するためにスレッドを使わない版の スクリプトを使う方法が有用です。

クラス `Profile`( | logfile[, lineevents[, linetimings]])

  プロファイラ・オブジェクト。引数 logfile はプロファイル・データ のログを保存するファイル名です。引数 lineevents はソースコー ドの1 行ごとにイベントを発生させるか、関数の呼び出し/リターンのときだ け発生させるかを指定します。デフォルトの値は `0` (関数の呼び出し/ リターンのときだけログを残す)です。引数 linetimings は時間情報を 記録するかどうかを指定します。デフォルトの値は `1` (時間情報を記 録する)です。