• linux 服务器时间函数


    linux下,至少有两种当前时间的获取函数,


    1. time(NULL)

    2. gettimeofday(NULL, NULL) 


    这两个函数都是在用户态完成的,效率上来说,time更高;精度上来说gettimeofday()更好。


    根据需要自己选择吧,测试函数如下,


    #include <stdlib.h>
    #include <time.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <sys/time.h>
    
    
    using namespace std;
    
    
    #define TEST_TIMES 10000000
    
    
    int main()
    {
        clock_t  start_time, end_time;
    
    
        time_t now;
        start_time = clock();
        for( int i=0; i < TEST_TIMES; i++ )
        {   
            now = time(NULL);
        }   
        end_time = clock();
    
    
        printf("elapse for time(NULL) is %ld\n", (end_time-start_time));
    
    
    
    
        struct timeval tv; 
    
    
        start_time = clock();
        for( int i=0; i < TEST_TIMES; i++ )
        {   
            gettimeofday( &tv, NULL );
        }   
        end_time = clock();
    
    
        printf("elapse for gettimeofday is %ld\n", (end_time-start_time));
    
    
        return 0;
    }


    测试结果如下


    elapse for time(NULL) is 40000
    elapse for gettimeofday is 180000


    后续再深入了解一下其他的获取时间函数

  • 相关阅读:
    oo第四次作业总结
    oo第三次博客总结
    oo第二次博客总结
    oo第一次博客总结
    leetcode155-最小栈
    leetcode141-环形链表
    leetcode278-第一个错误的版本
    leetcode118-杨辉三角
    LeetCode21-合并两个有序列表
    LeetCode27-移除元素
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3129893.html
Copyright © 2020-2023  润新知