CPU 時間の Perl スクリプトをプロファイリングしたいと考えています。Devel::Nytprof と Devel::SmallProf を見つけましたが、最初のものは CPU 時間を表示できず、2 番目のものはうまく動作しません。少なくとも私は必要なものを見つけることができませんでした。
私の目的のために何かツールを教えてもらえますか?
UPD: 行ごとのプロファイリングが必要です/スクリプトは多くの CPU 時間を消費するため、その部分を改善したい
システムの (シェルの内部ではありません!) timeユーティリティを試すことができます (先頭\
はタイプミスではありません):
$ \time -v perl collatz.pl
13 40 20 10 5 16 8 4 2 1
23 70 35 106 53 160 80 40
837799 525
Command being timed: "perl collatz.pl"
User time (seconds): 3.79
System time (seconds): 0.06
Percent of CPU this job got: 97%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.94
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 171808
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 9
Minor (reclaiming a frame) page faults: 14851
Voluntary context switches: 16
Involuntary context switches: 935
Swaps: 0
File system inputs: 1120
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0