测试“求余” 与 “位与” 的效率

来源:互联网 发布:手机桌面软件苹果 编辑:程序博客网 时间:2024/05/18 06:42

测试“求余” 与 “位与” 的效率

测试环境:

 1、操作系统: Windows XP Professional SP2
 2、CPU: Intel Celeron 3.06GHz
 3、内存: 248M

循环次数:
 各40亿次

测试代码如下:

//代码开始
//******************************************************
#include <iostream>
using namespace std;
#include <time.h>
#include <windows.h>
int main( int argc, char *argv[ ], char *envp[ ] )
{
 clock_t t1, t2;
 t1 = ::GetTickCount();
 for(unsigned long i = 0; i < 4e9; i++)
 {
  if(i%2==0);//求余运算
 }
 t2 = ::GetTickCount();
 cout << "求余执行"<< i <<"次时间:" << t2 - t1 << "毫秒" << endl;
 t2 = t1 = 0;
 Sleep(50);

 t1 = ::GetTickCount();
 for(i = 0; i < 4e9; i++)
 {
  if(i&1==0);//位与运算
 }
 t2 = ::GetTickCount();
 cout << "位与执行"<< i <<"次时间:" << t2 - t1 << "毫秒" << endl;

    return 0;
}
//******************************************************
//代码结束

程序执行3次结果如下:
求余执行4000000000次时间:113110毫秒
位与执行4000000000次时间:113188毫秒

求余执行4000000000次时间:113093毫秒
位与执行4000000000次时间:113141毫秒

求余执行4000000000次时间:113109毫秒
位与执行4000000000次时间:113141毫秒

从结果可判断:“求余” 与 “位与”执行效率相差无几。

原创粉丝点击