为什么函数在c++文件中的位置会影响其性能?特别是在下面给出的示例中,我们有两个相同的函数,它们具有不同的、一致的性能配置文件。如何对此进行调查并确定性能为何如此不同?这个例子非常简单,因为我们有两个函数:a和b。每个都在一个紧密的循环中运行多次,并进行了优化(-O3-march=corei7-avx)和计时。代码如下:#include#include#include#includeboolarray[]={true,false,true,false,false,true};uint32_t__attribute__((noinline))a(){asm("");returnstd::
为什么函数在c++文件中的位置会影响其性能?特别是在下面给出的示例中,我们有两个相同的函数,它们具有不同的、一致的性能配置文件。如何对此进行调查并确定性能为何如此不同?这个例子非常简单,因为我们有两个函数:a和b。每个都在一个紧密的循环中运行多次,并进行了优化(-O3-march=corei7-avx)和计时。代码如下:#include#include#include#includeboolarray[]={true,false,true,false,false,true};uint32_t__attribute__((noinline))a(){asm("");returnstd::