[C語言] 如何計算某一段程式碼執行時間

在Unix-like中,我們可以用 time [option] command 這種方法來計算出command執行所花費的時間,不過若是該command是一個daemon process, 我們一般來說 都只會監看log,此時若要知道某一段程式碼執行花費了多少時間, 當然我們可以用gettimeofday以及localtime_r來取得詳細的日期與時間來進行相減的動作, 不過若是單純只想計算時間,這邊提供clock function來做更加的方便, 下方是使用的Sample Code

 

#include <stdio.h>
#include <time.h>


/* This sample will display how to calculate the program execution time */

int plus(int iEnd)
{
int i = 0;
while(i < iEnd)
i++;

return i;
}

int main(int argc, char *argv[])
{
clock_t start_time, end_time;
float total_time = 0;
int iNum = 0;
if (argc < 2)
{
printf("Usage : %s Num\n", argv[0]);
return -1;
}

start_time = clock(); /* mircosecond */
iNum = plus(atoi(argv[1]));
end_time = clock();

/* CLOCKS_PER_SEC is defined at time.h */
total_time = (float)(end_time - start_time)/CLOCKS_PER_SEC;

printf("Time : %f sec \n", total_time);

return 0;
}

 

 

===========================這是簽名檔分隔線==============================
我沒有甚麼技術能力
不過卻希望在這邊跟大家分享自己遭遇的一些問題
希望大家有更好的方法可以跟我說!!
======================================================================



關連文章

Comments

# re: [C語言] 如何計算某一段程式碼執行時間
Posted by VigorSu on 2011/12/26 上午 10:35 回覆
不知道是否能稍微示範一下,如何讓C語言運行此計算?
# re: [C語言] 如何計算某一段程式碼執行時間
Posted by ssten on 2013/6/9 上午 02:29 回覆

你好,我想請問一下,在程式還在執行的時候,如何計算秒數(程式還在跑)?

# re: [C語言] 如何計算某一段程式碼執行時間
Posted by 幻光海鯨 on 2014/7/24 下午 04:18 回覆

to ssten : 它的功能像是問電腦"欸現在幾點",結束實再問一次時間,比對她們的時間差
 

# re: [C語言] 如何計算某一段程式碼執行時間
Posted by CCY on 2014/11/6 下午 10:53 回覆
不會動啊大大

回應

Title *
Name *
Email (將不會被顯示)
Url
Comment *

登入後使用進階評論

Please add 5 and 2 and type the answer here: