双核的执行效率的测试
2009-12-27 22:25 youthjiang 阅读(274) 评论(0) 编辑 收藏 举报//Adopt dual core to parallel pragramming(采用双核并行计算)
#include "stdafx.h"
#include "time.h"
void test()
{
int nVal = 0;
clock_t clkTOne = clock();
for(int i=0; i<100000000; i++)
{
nVal = i+1;
}
clock_t clkTTwo = clock();
printf("Time = %d\n", clkTTwo-clkTOne);
}
int _tmain(int argc, _TCHAR* argv[])
{
clock_t clkTOne = clock();
#pragma omp parallel for
for(int i=0; i<2; i++)
{
//printf("i=%d\n",i);
test();
}
clock_t clkTTwo = clock();
printf("Total Time = %d\n", clkTTwo-clkTOne);
test();
return 0;
}
#include "time.h"
void test()
{
int nVal = 0;
clock_t clkTOne = clock();
for(int i=0; i<100000000; i++)
{
nVal = i+1;
}
clock_t clkTTwo = clock();
printf("Time = %d\n", clkTTwo-clkTOne);
}
int _tmain(int argc, _TCHAR* argv[])
{
clock_t clkTOne = clock();
#pragma omp parallel for
for(int i=0; i<2; i++)
{
//printf("i=%d\n",i);
test();
}
clock_t clkTTwo = clock();
printf("Total Time = %d\n", clkTTwo-clkTOne);
test();
return 0;
}
程序的执行结果:
我的机器是E7200的双核处理器:
在for循环中,执行的时间分别是297ms,343ms
打印的时间花费了343ms,后面的执行时间是297ms.
//去掉并行计算
#include "stdafx.h"
#include "time.h"
void test()
{
int nVal = 0;
clock_t clkTOne = clock();
for(int i=0; i<100000000; i++)
{
nVal = i+1;
}
clock_t clkTTwo = clock();
printf("Time = %d\n", clkTTwo-clkTOne);
}
int _tmain(int argc, _TCHAR* argv[])
{
clock_t clkTOne = clock();
//#pragma omp parallel for
for(int i=0; i<2; i++)
{
//printf("i=%d\n",i);
test();
}
clock_t clkTTwo = clock();
printf("Total Time = %d\n", clkTTwo-clkTOne);
test();
return 0;
}
#include "time.h"
void test()
{
int nVal = 0;
clock_t clkTOne = clock();
for(int i=0; i<100000000; i++)
{
nVal = i+1;
}
clock_t clkTTwo = clock();
printf("Time = %d\n", clkTTwo-clkTOne);
}
int _tmain(int argc, _TCHAR* argv[])
{
clock_t clkTOne = clock();
//#pragma omp parallel for
for(int i=0; i<2; i++)
{
//printf("i=%d\n",i);
test();
}
clock_t clkTTwo = clock();
printf("Total Time = %d\n", clkTTwo-clkTOne);
test();
return 0;
}
程序的结果:
可见并行计算的效率。
参考文献:
1. 周伟明老师的博客文章:OpenMP并行程序设计<一>http://blog.csdn.net/drzhouweiming/archive/2006/08/28/1131537.aspx