Benchmark分析[3]: MineBench.ScalParc

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

函数: ParClassify
PC.L1.1.1.1.1.1.1.1.1(20-1508-165451-82643-165459-82816-662207-641719-1132580258-598519322)
执行百分比:(待VTune结果)

PC.L1.1.1.1.1.1.1.1.2(20-1508-165451-82643-165459-82816-662207-641719-1132580258-571685818)
执行百分比:(待VTune结果)

PC.L1.1.1.1.1.1.1.2(20-1508-165451-82643-165459-82816-662207-641719-641607651)
执行百分比:(待VTune结果)

PC.L1.1.1.1.1.1.1.3(20-1508-165451-82643-165459-82816-662207-641719-607569282)
执行百分比:(待VTune结果)

函数: Calculate_Gini
CG.L1.1(660864-987632880-117386765)
执行百分比:(待VTune结果)

1.3 热点代码

/*   函数 ParClassify   */
// PC.L1
while(BFSqFirst) 
{
MinGiniIndex = Calculate_Gini(***);
	 while(qptr!=LastNodeAtThisLevel->next) 
	 {
		if(Parent->MoreThanOneClasses) 
		{
			while (lb<natr) 
			{
				if (lb < natr) 
				{ 
					for (ic=lb; ic<ub; ic++) 
					{
              			if (ic!=SplitAid) 
              			{
              				// PC.L1.1.1.1.1.1.1.1
							for(i=AtrBegin;i<AtrBegin+AtrSize;i++) 
							{
								// PC.L1.1.1.1.1.1.1.1.1
                  				if (Hash_Table[Crid(catr, ic, i)] == LeftKidIndex)
                  				{
                    				TempArray1[LeftPointer++] = catr[ic].valsrids[i];
                    			}
                  				else
                  				// PC.L1.1.1.1.1.1.1.1.2
                    			if (Hash_Table[Crid(catr, ic, i)] == RightKidIndex)
                    			{
                      				TempArray2[RightPointer++] = catr[ic].valsrids[i];
                      			}
                      		}
							// PC.L1.1.1.1.1.1.1.2	
                			for(j=0;j<LeftPointer;j++,i++)
                			{
                  				catr[ic].valsrids[i] = TempArray1[j];
                  				KidL->CatrCabove[ic][Ccid(catr,ic,i)]++;
                  			}
                			// PC.L1.1.1.1.1.1.1.3
                			for(j=0;j<RightPointer;j++,i++) 
                			{
                  				catr[ic].valsrids[i] = TempArray2[j];
                  				KidR->CatrCabove[ic][Ccid(catr,ic,i)]++;
                			}
                		}
                	}
                }
            }
        }
    }
}

/*   函数 Calculate_Gini   */
// CG.L1
for(i=0;i<size-1;i++) 
{
    j = Recs[i].cid;
    v1 -= 1.0;
    v2 += 1.0;
    k = (double)Cabove[j];
    l = (double)Cbelow[j];
    split_above += 1.0-2.0*k;
    split_below += 1.0+2.0*l;
    Cabove[j]--;
    Cbelow[j]++;
    gini = 1.0 - split_above/(v1*v) - split_below/(v2*v);
	// CG.L1.1
    if(gini < mgini) 
    {
     	mgini = gini;
		*spointer = i+1;
    }
}

2.功能分析
2.1数据标签

标签数据注释

说明:s,v,m,t(全局数据)co-, tq-, tr-(局部数据)

2.2数据流分析

3.加速分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值