C++ 如何在VisualStudio中使用更多cpu

C++ 如何在VisualStudio中使用更多cpu,c++,visual-studio,C++,Visual Studio,我试图计算3种不同排序算法的时间。当程序运行时,我在任务管理器中此应用程序的cpu使用率为%12,我希望以最大cpu功率运行它。我怎么做 auto t1=Clock::now(); 插入端口(A1,尺寸); 自动t2=时钟::现在(); 可能有两种不同的原因 首先,你的程序可能不是。也就是说,CPU不是瓶颈,因此在访问内存时必须空闲。正在发生 第二,你的计划不是。也就是说,它不能利用CPU中的多个。有一些并行排序算法,你可以看看。这里有一个很好的起点:这个排序实现中有什么允许它使用多个CPU核

我试图计算3种不同排序算法的时间。当程序运行时,我在任务管理器中此应用程序的cpu使用率为%12,我希望以最大cpu功率运行它。我怎么做

auto t1=Clock::now();
插入端口(A1,尺寸);
自动t2=时钟::现在();

可能有两种不同的原因

首先,你的程序可能不是。也就是说,CPU不是瓶颈,因此在访问内存时必须空闲。正在发生


第二,你的计划不是。也就是说,它不能利用CPU中的多个。有一些并行排序算法,你可以看看。这里有一个很好的起点:

这个排序实现中有什么允许它使用多个CPU核?12%是(本质上)1/8,所以我怀疑在8核CPU上有一个非并发排序。@Richard这个百分比通常不是每个核的吗?因此,您实际上可以使用高达800%的CPU。@BoBTFish取决于它的测量方式。如果您正在查看任务管理器(或Process Explorer),那么100%都是100%的CPU。我从来没有自己做过,但也许您可以使用@BoBTFish来提高程序的优先级。我在小输入方面也有相同的结果。
auto t1 = Clock::now();
insertionSort(A1, size);
auto t2 = Clock::now();

cout << "insertionSort time: ";
cout << std::chrono::duration_cast<std::chrono::nanoseconds>(t2 - t1).count() / 1000000000.0f;
cout << " Seconds.\n";