[問題] 關於效能評估

作者: larrywhy (壞)   2014-04-01 14:50:54
我想請問一下,寫出一個程式。
除了 本身設計的演算法去推算時間複雜度之外。
該如何去評估一個程式的效能?
我的想法是:
利用 timer 去計算開始到結束時間
如果是極小的程式 Date time 可能無法計算 (單位太小)
如果是大型程式 一個專案之類的。
利用 timer也不知道是否正確
請問要如何去評估一個程式的運算時間(/性能)呢?
在不同IDE上 可能有顯示運算時間(如:dev c++)
請問visual studio 2012 如何去察看呢?
在不同語言 使用的性能評估方式是否也有不同?
在比較同樣的程式下,(不同語言撰寫) 該如何去評估比較兩個程式的性能呢?
作者: iterator (rotareti)   2014-04-01 14:53:00
看你想要獲得什麼資訊,單純比較程式區塊的速度,可以使用 System.Diagnostics.StopwatchVisual Studio Premium 版本以上, 有提供 Profiling 功能可以讓你統計分析整個程式運作時,各個模取的時間及資源感覺這類需求的就不是很精確的數字,在程式內或是程式外,前後加上 timer 應該就可以了
作者: m339606 (mize)   2014-04-01 20:02:00
計算tick應該已經是最準確的了,不過在C#跟JAVA這兩種會有JIT的程式碼似乎是無法互相比較的還有系統負載也有差,畢竟現在os多工處理下去就會有誤差大概現在只有單晶片單工執行才可以準確計算出tick?
作者: larrywhy (壞)   2014-04-01 22:10:00
感謝 那我大概知道了!
作者: Litfal (Litfal)   2014-04-02 18:39:00
攤開來,還是可以知道算法在某些指令集下的cpu clocks

Links booklink

Contact Us: admin [ a t ] ucptt.com