程序运行时间测试 - 使用libc 中 time 函数 实现…

2019-08-19 08:47:18来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

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.
time函数说明
/**
 * 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


原文链接:https://www.cnblogs.com/xuyaowen/p/c-lib-time.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:liunx-centos-基础命令详解(1) -主要内容来自 —https://www.cnb

下一篇:LRU的实现(使用list)