Benchmark分析1:Cortexsuite.clustering.spectral

1.热点分析
1.1热点函数
在这里插入图片描述
1.2热点循环
格式说明: 热点循环-各层执行总次数
执行百分比:热点循环占本函数执行比例

函数1: housev
hou.L1.1.1 (1-1598-1279199-681387200)
执行百分比:29.4%
hou.L1.2.1 (1-1598-1279199-681387200)
执行百分比:20%
hou.L2.1.1 (1-1598-1279199-1364053599)
执行百分比:31.5%
hou.L2.1.2 (1-1598-1279199-1364053599)
执行百分比:18%

函数2: qrevec
qre.L1.1.1 (1-2337-2203452-3525523200)
执行百分比:92.3%

1.3 热点代码

/*   函数1 housev   */
// hou.L1
for(j=0; j<n-2 ;++j)
{
	// hou.L1.1
	for(i=0; i<m ;++i)
	{
		// hou.L1.1.1
		for(k=i+1; k<m ;++k)
        {
        	// P1
            qs[i]+=qw[k]* *p; 
            // P2
            qs[k]+=y* *p++; //qs1
         }
         ...
    }

    // hou.L1.2   
   	for(i=0; i<m ;++i)
   	{  
   		 // hou.L1.2.1
         for(k=i; k<m ;++k) 
         {
        	// P3
        	*p++ -=qw[i]*qs[k]+qs[i]*qw[k];
    	}
    }
}
// hou.L2
for(m=2; m<n ;++m)
{
    // hou.L2.1
    for(j=0; j<m ;++j)
    {
		// hou.L2.1.1
      	for(i=0; i<m ;)
      		// p4
      		h+=qw[i++]* *qs++;
      		
		// hou.L2.1.2
      	for(i=0; i<m ;)       
      		// p5
      		*qs++ -=h*qw[i++];
    }
}

/*   函数1 qrevec   */
// qre.L1
for(j=0,m=n-1;;++j)
{
	// qre.L1.1
	for(k=0; k<m ;++k)
	{
		// qre.L1.1.1
		for(i=0,p=evec+n*k; i<n ;++i,++p)
		{
        	// P6
        	h=p[0]; 
        	// P7
        	p[0]=cc*h+sc*p[n];
        	// P8
        	p[n]=cc*p[n]-sc*h;
       }
   }
}

2.功能分析在这里插入图片描述
2.1数据标签

说明:s,v,m,t(全局数据)hou-, qre-(局部数据)

2.2数据流分析
函数 housev
hou.L1.1.1(9-15行)
P1: (hou.v1, hou.v3),hou.v2[i] -> hou.v2[i];加法树
P2:(hou.v1[i], hou.v3),hou.v2 -> hou.v2;加法树

hou.L1.2.1(26行)
P3:(hou.v1[i], hou.v2),(hou.v1, hou.v2[i]),hou.v3 -> hou.v3;减法树

hou.L2.1.1(39行)
P4:(hou.v1, hou.v3),hou.s1 -> hou.s1;加法树

hou.L2.1.2(44行)
P5:(hou.s1, hou.v1),hou.v3 -> hou.v3;减法树

函数 qrevec
qre.L1.1.1(58-63行)
P6: qre.v1 -> qre.s1
P7:(qre.s1, qre.s2),(qre.s3, qre.v1) -> qre.v1
P8:(qre.s2, qre.v1),(qre.s3, qre.s1) -> qre.v1

3.加速分析

发布了13 篇原创文章 · 获赞 0 · 访问量 189

猜你喜欢

转载自blog.csdn.net/weixin_42472659/article/details/103787474
今日推荐