测试简单for循环的效率

简介:

os : CentOS 5.2

代码:test-usecond.c

复制代码
#include <stdio.h> 
#include <sys/time.h>    // for gettimeofday()

int main()
{
    struct timeval tmlist[50];
    int i = 0;
    for(i = 0; i < 50; i++)
    {   
        gettimeofday( &tmlist[i], NULL );
    }   
    for(i = 0; i < 50; i++)
    {   
        int iItvl = 0;
        if(i > 0)
        {   
            iItvl = tmlist[i].tv_usec - tmlist[i - 1].tv_usec;
        }   
        printf("tm[%2d] : %d.%06d -> %d\n", i, tmlist[i].tv_sec, tmlist[i].tv_usec, iItvl);          
    }   
}
复制代码

运行结果:

tm[ 0] : 1422847341.193135 -> 0
tm[ 1] : 1422847341.193136 -> 1
tm[ 2] : 1422847341.193136 -> 0
tm[ 3] : 1422847341.193136 -> 0
tm[ 4] : 1422847341.193137 -> 1
tm[ 5] : 1422847341.193137 -> 0
tm[ 6] : 1422847341.193137 -> 0
tm[ 7] : 1422847341.193138 -> 1
tm[ 8] : 1422847341.193138 -> 0
tm[ 9] : 1422847341.193138 -> 0
tm[10] : 1422847341.193139 -> 1
tm[11] : 1422847341.193139 -> 0
tm[12] : 1422847341.193139 -> 0
tm[13] : 1422847341.193140 -> 1
tm[14] : 1422847341.193140 -> 0
tm[15] : 1422847341.193140 -> 0
tm[16] : 1422847341.193141 -> 1
tm[17] : 1422847341.193141 -> 0
tm[18] : 1422847341.193141 -> 0
tm[19] : 1422847341.193141 -> 0
tm[20] : 1422847341.193142 -> 1
tm[21] : 1422847341.193142 -> 0
tm[22] : 1422847341.193142 -> 0
tm[23] : 1422847341.193143 -> 1
tm[24] : 1422847341.193143 -> 0
tm[25] : 1422847341.193143 -> 0
tm[26] : 1422847341.193144 -> 1
tm[27] : 1422847341.193144 -> 0
tm[28] : 1422847341.193144 -> 0
tm[29] : 1422847341.193145 -> 1
tm[30] : 1422847341.193145 -> 0
tm[31] : 1422847341.193145 -> 0
tm[32] : 1422847341.193146 -> 1
tm[33] : 1422847341.193146 -> 0
tm[34] : 1422847341.193146 -> 0
tm[35] : 1422847341.193146 -> 0
tm[36] : 1422847341.193147 -> 1
tm[37] : 1422847341.193147 -> 0
tm[38] : 1422847341.193147 -> 0
tm[39] : 1422847341.193148 -> 1
tm[40] : 1422847341.193148 -> 0
tm[41] : 1422847341.193148 -> 0
tm[42] : 1422847341.193149 -> 1
tm[43] : 1422847341.193149 -> 0
tm[44] : 1422847341.193149 -> 0
tm[45] : 1422847341.193150 -> 1
tm[46] : 1422847341.193150 -> 0
tm[47] : 1422847341.193150 -> 0
tm[48] : 1422847341.193151 -> 1
tm[49] : 1422847341.193151 -> 0

 



本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4267327.html,如需转载请自行联系原作者

相关文章
|
Perl
在awk中,初始化-测试-递增型的 `for` 循环
在awk中,初始化-测试-递增型的 `for` 循环
222 2
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
326 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
编译器 测试技术 Linux
技术洞察:循环语句细微差异下的性能探索(测试while(u--);和while(u)u--;的区别)
该文探讨了两种循环语句(`while(u--);` vs. `while(u) u--;`)在性能上的微妙差异。通过实验发现,后者比前者平均执行速度快约20%,原因在于循环条件检查的顺序影响了指令数量。尽管差异可能在多数情况下不显著,但在性能关键的代码中,选择合适的循环结构能优化执行效率。建议开发者在编写循环时考虑编译器优化和效率。未来研究可扩展到不同编译器、优化级别及硬件架构的影响。
|
存储 弹性计算 运维
循环测试用户名与密码是否正确
【4月更文挑战第29天】
176 0
|
弹性计算 运维 Shell
测试开关机(while循环)
【4月更文挑战第29天】
181 0
|
弹性计算 运维 Shell
测试开关机(for循环)
【4月更文挑战第29天】
126 0
|
存储 弹性计算 运维
循环测试用户名与密码是否正确
【4月更文挑战第29天】
240 0
|
C# 图形学
【Unity 3D】C#中while do while for foreach等循环语句的讲解(附测试代码)
【Unity 3D】C#中while do while for foreach等循环语句的讲解(附测试代码)
598 0
|
Shell Linux Go
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
389 0
【单片机期中测试】3.按键控制流水灯循环
【单片机期中测试】3.按键控制流水灯循环
374 0