|
點(diǎn)擊左上方藍(lán)色“一口Linux”,選擇“設(shè)為星標(biāo)”
第一時(shí)間看干貨文章
?【干貨】嵌入式驅(qū)動(dòng)工程師學(xué)習(xí)路線?【干貨】Linux嵌入式知識(shí)點(diǎn)-思維導(dǎo)圖-免費(fèi)獲取?【就業(yè)】一個(gè)可以寫(xiě)到簡(jiǎn)歷的基于Linux物聯(lián)網(wǎng)綜合項(xiàng)目?【就業(yè)】找工作簡(jiǎn)歷模版
p1eno0vkci064070788931.gif (555.24 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
p1eno0vkci064070788931.gif
2024-10-31 07:59 上傳
1i35tmryhqv64070789031.png (758.97 KB, 下載次數(shù): 12)
下載附件
保存到相冊(cè)
1i35tmryhqv64070789031.png
2024-10-31 07:59 上傳
使用 time() 測(cè)量秒數(shù)#include
#include
int main() {
// 獲取操作前的當(dāng)前時(shí)間
time_t start_time = time(NULL);
// 執(zhí)行一些操作(例如,一個(gè)簡(jiǎn)單的循環(huán))
for (long i = 0; i 1000000000; ++i);
// 獲取操作后的當(dāng)前時(shí)間
time_t end_time = time(NULL);
// 計(jì)算時(shí)間差
double duration = difftime(end_time, start_time);
// 打印時(shí)間差
printf("花費(fèi)的時(shí)間: %.2f 秒
", duration);
return 0;
}
花費(fèi)的時(shí)間: 3.00 秒使用 clock() 測(cè)量更高精度的時(shí)間#include
#include
int main() {
// 獲取操作前的當(dāng)前時(shí)鐘時(shí)間
clock_t start_time = clock();
// 執(zhí)行一些操作(例如,一個(gè)簡(jiǎn)單的循環(huán))
for (long i = 0; i 1000000000; ++i);
// 獲取操作后的當(dāng)前時(shí)鐘時(shí)間
clock_t end_time = clock();
// 計(jì)算時(shí)間差
double duration = (double)(end_time - start_time) / CLOCKS_PER_SEC;
// 打印時(shí)間差
printf("花費(fèi)的時(shí)間: %.6f 秒
", duration);
return 0;
}
花費(fèi)的時(shí)間: 2.500000 秒CLOCKS_PER_SEC是標(biāo)準(zhǔn)c的time.h頭函數(shù)中宏定義的一個(gè)常數(shù),表示一秒鐘內(nèi)CPU運(yùn)行的時(shí)鐘周期數(shù),用于將clock()函數(shù)的結(jié)果轉(zhuǎn)化為以秒為單位的量,但是這個(gè)量的具體值是與操作系統(tǒng)相關(guān)的
使用 gettimeofday() 測(cè)量微秒級(jí)的時(shí)間#include
#include
int main() {
struct timeval start, end;
// 獲取操作前的當(dāng)前時(shí)間
gettimeofday(&start, NULL);
// 執(zhí)行一些操作(例如,一個(gè)簡(jiǎn)單的循環(huán))
for (long i = 0; i 1000000000; ++i);
// 獲取操作后的當(dāng)前時(shí)間
gettimeofday(&end, NULL);
// 計(jì)算時(shí)間差
double duration = (end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec) / 1e6;
// 打印時(shí)間差
printf("花費(fèi)的時(shí)間: %.6f 秒
", duration);
return 0;
}
花費(fèi)的時(shí)間: 2.499999 秒
注意事項(xiàng):time(): 返回的秒數(shù)可能是整數(shù),因此精度較低。
clock(): 提供的時(shí)間可能更精確,因?yàn)樗腔贑PU時(shí)間。
gettimeofday(): 提供更高的時(shí)間精度,通?梢跃_到微秒級(jí)。
實(shí)際的時(shí)間輸出將根據(jù)系統(tǒng)性能和執(zhí)行時(shí)間而有所不同。以上輸出只是示例,用于說(shuō)明代碼的運(yùn)行結(jié)果。
end
一口Linux
關(guān)注,回復(fù)【1024】海量Linux資料贈(zèng)送
精彩文章合集
文章推薦
?【專(zhuān)輯】ARM?【專(zhuān)輯】粉絲問(wèn)答?【專(zhuān)輯】所有原創(chuàng)?【專(zhuān)輯】linux入門(mén)?【專(zhuān)輯】計(jì)算機(jī)網(wǎng)絡(luò)?【專(zhuān)輯】Linux驅(qū)動(dòng)?【干貨】嵌入式驅(qū)動(dòng)工程師學(xué)習(xí)路線?【干貨】Linux嵌入式所有知識(shí)點(diǎn)-思維導(dǎo)圖 |
|