2014-01-21 127 views
1

只是想確認一下。NYTProf執行時分析和不分析時的執行時間

我有一個測量程序執行時間的小型python腳本,它只是在外部程序啓動之前節省時間,然後在程序結束執行後從時間中減去此值。

當在perl腳本上運行這個腳本時,它顯示的執行時間爲0.49263,當與NYTProf運行相同的腳本並查看由nytprofhtml生成的HTML報告時,我可以看到執行時間爲0.80784,幾乎是兩倍多。

可以嗎?我認爲分析應該增加執行時間,但是這麼多?

回答

2

這很正常,因爲Devel :: NYTProf需要查看每一條語句(以及塊等)。它需要爲每條語句將分析數據寫入磁盤。這個成本相當高。這就是爲什麼你不應該在生產中運行它。

有關如何使其在documentation中運行更快的信息。


如果在Linux命令行中運行,因此不需要任何其他程序得到命令的執行時間。只需在外殼上執行此操作:

$ time perl foo.pl 
+0

確定。當然它有它自己的成本。但是NYTProf知道它自己的工作花費了多少時間(在磁盤上寫數據,測量時間,Bla bla),並知道目標/特徵化程序花了多少時間。所以這樣它可以分開程序實際使用的自用時間和時間。 – ggat