小编LFF*_*LFF的帖子

在Linux上,GCC/pthread并行代码比简单的单线程代码慢得多

我正在使用gcc(GCC)4.8.3 20140911在CentOS 7服务器上测试Linux上的pthread并行代码.

单线程版本很简单,它用于初始化10000*10000矩阵:

int main(int argc)
{
    int size = 10000;

    int * r = (int*)malloc(size * size * sizeof(int));
    for (int i=0; i<size; i++) {
            for (int j=0; j<size; j++) {
                r[i * size + j] = rand();
            }
    }
    free(r);
}
Run Code Online (Sandbox Code Playgroud)

然后我想看看并行代码是否可以提高性能:

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>

int size = 10000;

void *SetOdd(void *param) 
{
   printf("Enter odd\n"); 
   int * r      = (int*)param;
   for (int i=0; i<size; i+=2) {
         for (int j=0; j<size; j++) {
                r[i * …
Run Code Online (Sandbox Code Playgroud)

c performance gcc pthreads

3
推荐指数
1
解决办法
432
查看次数

标签 统计

c ×1

gcc ×1

performance ×1

pthreads ×1