linux openmp单线程cpu 使用 超过100%,openMP多线程测试结果还不如单线程快。。
openMP多线程测试结果还不如单线程快。。(2012-04-11 04:17:31)标签:测试结果多线程杂谈openMP多线程测试结果还不如单线程快。。测试了linux下c++和openMP的多线程程序,发现还不如单线程快,各位高手碰到过这个问题吗?代码如下:各位可以测试一下,代码正确。#include#include#include#include#include#include#includ
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是多少核的。
其次,注意你任务的粒度。
我见过因为任务粒度太小而导致性能
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
更多推荐
所有评论(0)