java計算兩個時間的時間差 如何精確測量程序的cpu時間?
如何精確測量程序的cpu時間?為了準(zhǔn)確計算程序的運行時間,如果主程序使用匯編語言,則匯編的每條語句的執(zhí)行時間是固定的,程序的運行時間直接根據(jù)匯編語句計算;如果主程序使用C語言,則C語言,C語言程序的運
如何精確測量程序的cpu時間?
為了準(zhǔn)確計算程序的運行時間,如果主程序使用匯編語言,則匯編的每條語句的執(zhí)行時間是固定的,程序的運行時間直接根據(jù)匯編語句計算;如果主程序使用C語言,則C語言,C語言程序的運行時間可以通過定時器函數(shù)獲得,但其精度不夠高,不能用來測量小于100ms的程序的運行時間,其優(yōu)點是精度不太依賴于系統(tǒng)負(fù)載,理論值與程序執(zhí)行時間的誤差很小。
但實際上,計算機不僅運行一個程序,進程切換、各種中斷、共享多用戶、網(wǎng)絡(luò)流量、緩存訪問、傳輸預(yù)測等,都會對定時產(chǎn)生影響。因此,程序的準(zhǔn)確運行時間很難計算。除非它是一個帶條紋的嵌入式電路板
使用date類的gettime()方法,下面是示例代碼。例如,您需要計算代碼的執(zhí)行時間。讓我們看一下gettime的定義:毫秒意味著微妙,因此gettime的精度是微妙的