当我想对编译器的性能进行基准测试时,我需要使用多少内核



我重新排序编译器优化。

我想将输出的性能与gcc O3进行比较。

我有一个测试套件。

我需要使用多少核心来进行基准测试?

我确信它们的可执行文件是不同的。

我用一个核心来测量它们的运行时间,时间是相似的。

但我没有限制内核的数量来衡量运行时间,我的编译器的可执行文件比gcc O3更快。

如何确定哪个编译器更好?


问题

当我想对编译器的性能进行基准测试时,我需要使用多少内核


嗯,越多越好。你提到的单核肯定是不推荐。既然您已经提到了gcc,那么您必须研究gcc基准。

然而,在前面提到的";越多越快乐";小心";收益递减定律;正如下面这个答案所正确指出的:

在基准测试战中,各个制造商将尽可能多地投入核心/处理器/CPU来解决问题。但总有(除了在一些非常奇怪的情况下(;收益递减定律第二个核心只会增加60-80%,第三个核心会减少60-80%,等等。事实上,在某些情况下,您可能会将核心数量增加一倍,从而降低性能。在高度多线程的应用程序中实现良好的性能介于艺术和魔术之间。

最新更新