我正在学习c/c++中线程的概念。我正在尝试Pthreads Overview中引用的两个向量的点积示例。
我运行了代码的串行版本和线程版本,我发现串行版本比线程版本更快。我想应该是相反的。
我在单个 CPU 上运行。
链接到的代码有一些您需要记住的问题:
a = (double*) malloc (NUMTHRDS*VECLEN*sizeof(double));--NUMTHRDS设置为 4 和100)。VECLEN因此,并行程序正在执行四倍的工作量,但有四个线程,因此天真的假设是串行和并行程序将具有相同的运行时间。