1. 程式人生 > >Java程序運行時間計算

Java程序運行時間計算

java基礎 計時

程序計時功能用處不是很多,但是在寫排序算法的時候加上程序計時功能可以很直觀的感受到不同的排序算法所用的時間。(當然前提是參與排序的數據量足夠大)

Java中有兩種方式獲取時間:

1.使用Calendar類(包為java.util.Calendar)獲取系統當前時間來進行執行時間的判斷

2.通過System.currentTimeMillis()或者System.nanoTime()方法獲得當前的時間的精確值

需要註意的是,第一種方法的誤差很大,給排序算法5000個數據進行排序,當我重復計時時,發現每次的計時結構會出現5-10ms的誤差,對於排序算法來說,這個誤差還是挺大的。然後是System.currrentTimeMillis()方法,通過文檔,這個方法調用了個native方法,獲取的時間精度會依賴於操作系統的實現機制,也就是說,不同的操作系統會有不同的答案,尷尬 = =|

最後就是System.nanoTime()方法了,這個就比較厲害了,直接是納秒級的計時方法,比上面的方法精度提升了10^6倍,所以對於時間精度要求比較高的話就放心用這種方法吧。

用法

假設我們需要測試Main()程序的時間,則:

方法1:

long start = Calendar.getInstance().getTimeInMillis();//開始時間,單位是毫秒

Main();//程序運行

long end = Calendar.getInstance().getTimeInMillis();//結束時間

double spentTime = (double) end - start; //末減初就是所花時間


方法2:

跟上面的思路一樣的,只是調用了不同的方法而已

long start = System.nanoTime();//單位是納秒

Main();

long end = System.nanoTime();

double spentTime = (double) end - start;




本文出自 “衛莨” 博客,請務必保留此出處http://acevi.blog.51cto.com/13261784/1983844

Java程序運行時間計算