当前位置: 移动技术网 > 科技>操作系统>Linux > 程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测

程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测

2019年08月18日  | 移动技术网科技  | 我要评论

青岛公积金查询网,排列三杀号专家neiba,范思蓝恩

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网