java編程 如何精確測(cè)量程序的cpu時(shí)間?
如何精確測(cè)量程序的cpu時(shí)間?為了準(zhǔn)確計(jì)算程序的運(yùn)行時(shí)間,如果主程序使用匯編語言,則匯編的每條語句的執(zhí)行時(shí)間是固定的,程序的運(yùn)行時(shí)間直接根據(jù)匯編語句計(jì)算;如果主程序使用C語言,則C語言,C語言程序的運(yùn)
如何精確測(cè)量程序的cpu時(shí)間?
為了準(zhǔn)確計(jì)算程序的運(yùn)行時(shí)間,如果主程序使用匯編語言,則匯編的每條語句的執(zhí)行時(shí)間是固定的,程序的運(yùn)行時(shí)間直接根據(jù)匯編語句計(jì)算;如果主程序使用C語言,則C語言,C語言程序的運(yùn)行時(shí)間可以通過定時(shí)器函數(shù)獲得,但其精度不夠高,不能用來測(cè)量小于100ms的程序的運(yùn)行時(shí)間,其優(yōu)點(diǎn)是精度不太依賴于系統(tǒng)負(fù)載,理論值與程序執(zhí)行時(shí)間的誤差很小。
但實(shí)際上,計(jì)算機(jī)不僅運(yùn)行一個(gè)程序,進(jìn)程切換、各種中斷、共享多用戶、網(wǎng)絡(luò)流量、緩存訪問、傳輸預(yù)測(cè)等,都會(huì)對(duì)定時(shí)產(chǎn)生影響。因此,程序的準(zhǔn)確運(yùn)行時(shí)間很難計(jì)算。除非是有條紋的嵌入式電路板