程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测
程序员文章站
2022-05-29 09:54:44
c 标准库中,有time 函数,可以返回 1970年1月1日 开始到现在的秒数,我们可以调用两次的时间差来计算程序运行时间: https://github.com/yaowenxu/Workplace/blob/master/timer/timetimer.c NAME time -- get ti ......
c 标准库中,有time 函数,可以返回 1970年1月1日 开始到现在的秒数,我们可以调用两次的时间差来计算程序运行时间:
https://github.com/yaowenxu/workplace/blob/master/timer/timetimer.c
name time -- get time of day library standard c library (libc, -lc) synopsis #include <time.h> time_t time(time_t *tloc); description the time() function returns the value of time in seconds since 0 hours, 0 minutes, 0 seconds, january 1, 1970, coordinated univer- sal time, without including leap seconds. if an error occurs, time() returns the value (time_t)-1. the return value is also stored in *tloc, provided that tloc is non-null.
/** * author: yaowen xu * github: https://github.com/yaowenxu * organization: 北航系统结构研究所 * date: 2019-08-18 13:03:53 * lastedittime: 2019-08-18 13:14:33 * description: 使用 c 语言库 time 函数 对程序运行计时 以秒为单位 */ #include <time.h> #include <stdio.h> #include <math.h> int str2int(char* str){ char *p = str; int sum = 0; while (*p != '\0') { sum = sum*10 + (*p-'0'); p++; } return sum; } int main(int argc, char* argv[]){ time_t start, stop; // time_t aka long int def = 1000; if (argc == 2) { def = str2int(argv[argc-1]); } start = time(null); for (int i = 0; i < def ; i++) { float tmp = sqrt(i); } stop = time(null); time_t total = stop - start; // 使用运行的时间 以秒为单位 printf("start: %ld s\n", start); printf("stop: %ld s\n", stop); printf("time: %ld s\n", total); // 总共使用的时钟 return 0; }
保持更新,如果对您有帮助,请点击推荐!更多关于c语言相关的知识,请关注 cnblogs.com/xuyaowen