1

ただ、確認したかっただけです。

プログラムの実行時間を測定する小さなpythonスクリプトがあります。外部プログラムが開始する前に時間を節約し、プログラムの実行が終了した後の時間からこの値を差し引きます。

このスクリプトを perl スクリプトで実行すると、実行時間が 0.49263 になり、同じスクリプトを NYTProf で実行して nytprofhtml で生成された HTML レポートを調べると、実行時間が 0.80784 で、ほぼ 2 倍になっていることがわかります。

これでよろしいですか?プロファイリングは実行時間を増やすべきだと思いますが、それだけですか?

4

1 に答える 1

2

Devel::NYTProf はすべてのステートメント (およびブロックなど) を確認する必要があるため、これは正常な動作です。ステートメントごとにプロファイリング データをディスクに書き込む必要があります。このためのコストはかなり高いです。そのため、本番環境で実行しないでください。

ドキュメンテーションには、より高速に実行する方法に関する情報がいくつかあります。


Linux コマンド ラインで実行する場合、他のプログラムでコマンドの実行時間を取得する必要はありません。シェルでこれを行うだけです:

$ time perl foo.pl
于 2014-01-21T10:39:57.660 に答える