openMP多线程测试结果还不如单线程快。。

(2012-04-11 04:17:31)

标签:

测试结果

多线程

杂谈

openMP多线程测试结果还不如单线程快。。测试了linux下c++和openMP的多线程程序,发现还不如单线程快,各位高手碰到过这个问题吗?代码如下:各位可以测试一下,代码正确。

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

#define CLOCK_TICKS 100

void show_cpu_time(tms &CPU_begin, tms

&CPU_end);

int main(int argc, char **argv)

{

int j;

struct tms CPU_current, CPU_begin, CPU_end;

times(&CPU_begin);

#pragma omp parallel for

for (int i=0;i<2000000000;i++)

{

j++;

}

cout<

"<

times(&CPU_end);

show_cpu_time(CPU_begin, CPU_end);

return 0;

}

void show_cpu_time(tms &CPU_begin, tms

&CPU_end) {

intClockTicksPerSecond, total_seconds;

ClockTicksPerSecond = CLOCK_TICKS;

total_seconds = (CPU_end.tms_utime - CPU_begin.tms_utime)/

ClockTicksPerSecond;

cout << "Total CPU

time " <<

total_seconds << endl;

} //

ENDshow_current_cpu_time首先http://www.xssio.com/,注意你的CPU是多少核的。

其次,注意你任务的粒度。

我见过因为任务粒度太小而导致性能

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐