Mpeg4 IP Camera,网络摄像机,DVR方案及模块,NGN,VoIP企业方案,IP-PBX,OEM,ODM服务,无线产品,SIP终端产品,Zigbee产品
  日文网站
网站地图 客户服务 联系我们
 
 服务内容
 服务热线
 知识库
 
NGN产品
图像产品
软件开发X问
 演示中心

 

如何让您的IP Camera
快速抢占市场

如何选择适合您的VoIP
解决方案
产品应用成功案例
产品演示中心
软件开发X问
 
  您当前位置: 客户服务 >> 知识库 >> 软件开发X问
软件开发X问  
     
 
1.4 最优化执行逻辑

a)样例代码
/* S-RING通知消息作成 */
memset(&stSRingMsg, 0x0, sizeof(CCL_INVITE_MSG_STRU));
stSRingMsg.stHead.iEventNo    = SM_TO_APP_EV_S_RING;
stSRingMsg.stHead.iFromType   = g_SMM_iSelfFrom;
stSRingMsg.stHead.iToType     = g_SMM_iSelfTo;
stSRingMsg.stHead.iBodyLength = iBodySize;

/* 申请发送消息的内存 */
pucSendMsg = (unsigned char*)CCL_Malloc(iBufferSize);
if (pucSendMsg == NULL)
{
      LOG_Trace(LOG_LEVEL_ERROR, "Cannot Malloc Memory,size=[%d]", iBufferSize);  
      return;
}

b)评述如下:
(1)在消息做成后,没有马上使用该消息
(2)如果后续执行错误,该段逻辑没有使用,所以此处做成消息对执行效率不是最优

原则:
如果某一分支在实际应用中,执行的比较频繁,跟他无关的代码应放在后面执行。所以应该在最合适的地方做合适的事情。
在编程时,不断要想到性能问题,即一定要考虑效率优化问题,并不是把功能实现就可以了。特别是在做嵌入式系统,电话交换机,有GUI显示的程序更是如此。