2010-01-14 61 views
0

是否在NetBeans CPU探查使用掛鐘時間或CPU時間?例如,在瞭解如何將I/O反映到性能分析結果中時,瞭解這一點非常重要。是否在NetBeans CPU探查使用掛鐘時間或CPU時間?

+0

也想知道它是否是掛鐘或CPU時間w.r.t.多線程。如果4個併發運行的線程(每個線程都在同一個函數中)需要4秒,那麼它會報告爲4秒還是16秒? – ragerdl 2017-08-02 20:59:52

回答

3

使用NetBeans缺省值是使用壁時鐘(「絕對」)時爲所有方法計時計算。 CPU時間方法可用,但目前僅在Solaris上。如果需要CPU時間,可以從「Attach Profiler」窗口的「高級設置」區域啓用。 (該選項被稱爲「使用線程CPU定時器(僅限Solaris)」)

無論選擇哪個定時器設置,該設置都將全局應用於所有類/方法。 (相比之下,YourKit允許您使用CPU時間計算某些方法的時間,但使用掛鐘時間的其他方法可以計算某些方法的時間。)

請注意,無論計時器模式如何,NetBeans都會更正其計時信息以考慮分析器開銷。

至於I/O:使用默認(掛鐘)設定,方法的定時將理論上包括所花費的時間上阻塞I/O操作。可以在http://wiki.NetBeans.org/FaqProfilerUsingTimers找到

更多關於定時器選項的詳細信息。我發現與http://wiki.netbeans.org/FaqProfilerSampledInstrumentation一起查閱這個頁面會很有幫助,它描述了儀器在「精確調用樹和定時」模式和「精確調用樹,採樣定時」模式下的工作方式。