java-檢測程式執行時間
在進行演算法學習的時候,要比較不同演算法之間的優劣就要考慮執行速度的問題。如何檢測程式的執行時間就是我們必須要了解的一個問題。這裡來說一下。
0.實現思路
一般的實現思路就是獲取系統時間,計算要測試程式執行前後的時間差,因為系統時間是以毫秒(millisecond)為單位,因此可以獲得相對精確的執行時間。如果程式實在比較小,那就迴圈多次執行,比如10000次,這樣可以更加清晰的看出執行速度。
1、獲取系統時間
獲取系統時間,用的是System.currentTimeMillis(). 看一下官方API給出的說明:
static long currentTimeMillis()
Returns the current time in milliseconds.
//返回當前的時間,單位是毫秒。
//詳細介紹
Note that while the unit of time of the return value is a millisecond, the granularity of the value depends on the underlying operating system and may be larger. For example, many operating systems measure time in units of tens of milliseconds.
Returns:
the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
該方法返回值是從1970年1月1日凌晨到此時刻的毫秒數!(可以算算long最多可以計時計到啥時候,哈哈!)
這裡注意一下,我們一般輸出日期時間經常會用到Date這個類。例如:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設定日期格式
System.out.println(df.format(new Date()));// new Date()為獲取當前系統時間
其API表述如下:
The class Date represents a specific instant in time, with millisecond precision.
注意到Date類的時間精度也是毫秒級的。可以實現我們上面給出的程式碼一樣的效果。實際上,檢視一下Date類的原始碼就會發現:
public Date()
{
this(System.currentTimeMillis());
}
也就是說Date類也是呼叫了系統的時間,並對其進行了一系列封裝處理。因此我們如果需要詳細的資訊,比如年份月份等可以使用Date類。而此處我們只需要知道毫秒差就可以了,就沒必要用date類了,避免浪費。
2. 實現程式碼
程式碼實現就比較簡單了,直接上程式碼:
long starTime=System.currentTimeMillis();
//計算迴圈10000的時間
for(int i=0; i<10000; i++)
{
//your code;
}
long endTime=System.currentTimeMillis();
long Time=endTime-starTime;
System.out.println(Time);
這樣就可以得到程式執行的時間了,注意單位是毫秒。
下一篇將會給出兩個實際應用的例子。
相關推薦
java-檢測程式執行時間
在進行演算法學習的時候,要比較不同演算法之間的優劣就要考慮執行速度的問題。如何檢測程式的執行時間就是我們必須要了解的一個問題。這裡來說一下。 0.實現思路 一般的實現思路就是獲取系統時間,計算要測試程式執行前後的時間差,因為系統時間是以毫秒(millis
Java 計算程式執行時間
第一種 以ms為單位 long startTime = System.currentTimeMillis(); //獲取開始時間的時間戳 /*中間為要計算執行時間的程式碼段*/ long endTime = System.currentTimeMillis
java獲取程式執行時間
第一種是以毫秒為單位計算的。 Java程式碼 //虛擬碼 long startTime=System.currentTimeMillis(); //獲取開始時間 doSomeThing(); //測試的程式碼段 long endTime=
JAVA:統計程式執行時間的兩種方法
第一種用Date類 import java.io.*; import java.util.*; public class 計時 { public static void main(String[] args) { Date date1 = new Date();
java中測試程式執行時間
好了,師弟師妹們軍訓著,從1.05號放假到現在,我也無所事事了一個星期了,找不到人生的目標,鹹魚地送走了宿舍裡的最後一個兄弟,從上一個學期的放假時,就暗暗下定決心,不要自己最後一個人走,因為這會讓我想到孤獨,想到高三畢業後,離校的那一天,自己拿著行李,回望另一畔的學校,內心
java程式執行時間
在程式的開始部分與結束部分分別加上獲取當前時間的程式碼,用結束時間減去開始時間就是程式執行所需的時間。 long startTime = System.currentTimeMillis();
《Java》完成一個“計算出程式執行時間”的應用程式
一、任務目標 完成一個 java application應用程式,計算執行十億次空迴圈所需要的時間,並在不同cup主頻的計算機上執行此程式,比較其運算所需時間有何差別。 二、currentTimeMillis方法 currentTimeMil
檢視Java程式執行時間
(1)以毫秒為單位: long startTime_1 = System.currentTimeMillis(); long endTime_1 = System.currentTimeMi
Java 程式執行時間計算
以毫秒為單位 long startTime = System.currentTimeMillis(); //獲取開始時間 doSomething(); //測試的程式碼段 long endTime = System.currentTimeMil
java.util.concurrent多執行緒簡單demo及計算多執行緒程式執行時間
public void doMain(String dir) { // 獲取開始時間 long startTime = System.currentTimeMillis(); try { File file = new File(dir);
常用的三種獲取程式執行時間的方法
chrono 參考教程:http://www.cnblogs.com/jwk000/p/3560086.html #include <chrono> //C++11 chrono::steady_clock::time_point t1 = chro
程式執行時間
要獲得一個C語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock()函式,可以捕捉從程式開始執行到clock()被呼叫時所 耗費的時間。這個時間單位是clock tick,即“時鐘打點”。同時還有一個常數CLK_TCK,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲 得一個
PHP獲取程式執行時間
/** * @desc 獲取程式執行時間 * @param bool $time @傳此引數,代表獲取執行時間,不傳返回當前時間 * @param bool $format @當傳第一個引數時,此引數才起作用:是否返回字串ms * @param bool $numbe
C++程式執行時間
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<ctime> using
程式執行時間(15分)
要獲得一個 C 語言程式的執行時間,常用的方法是呼叫標頭檔案 time.h,其中提供了 clock() 函式,可以捕捉從程式開始執行到 clock() 被呼叫時所耗費的時間。這個時間單位是 clock tick,即“時鐘打點”。同時還有一個常數 CLK_TCK,給出了機器時鐘每秒所走的時鐘打點數。於
python程式執行時間
方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime)
time 輸出的程式執行時間
time 輸出的程式執行時間 real real 時間指的是從程序開始建立執行到執行完成整個的系統時間。這個時間可能包括其它程序執行的時間,以及程序掛起的時間。 user 在使用者態中執行程式碼花費的 cpu 時間。 sys 在核心態中執行的程式碼花費的
程式執行時間(15) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)
題目描述 要獲得一個C語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock()函式,可以捕捉從程式開始執行到clock()被呼叫時所 耗費的時間。這個時間單位是clock tick,即“時鐘打點”。同時還有一個常數CLK_TCK,給出了機器時鐘每秒
1026 程式執行時間 (15 分) (floor函式)
要獲得一個 C 語言程式的執行時間,常用的方法是呼叫標頭檔案 time.h,其中提供了 clock() 函式,可以捕捉從程式開始執行到 clock() 被呼叫時所耗費的時間。這個時間單位是 clock
PAT B1026 程式執行時間
本地編譯環境 系統:win7 64位; C/C++環境:Clion2018,編譯器cygwin。 Java環境:IDEA2018,編譯器jdk-8u172。 Python環境:pycharm,編譯器Anaconda3:Python3.6。 題目 本題也是演算法筆