FLASH中if 和 switch 的比较 (AS3)

来源:互联网 发布:医疗数据分析毕业设计 编辑:程序博客网 时间:2024/05/17 06:47

function doAddIf (iTo_)
{
 var iTmStart_:int = getTimer();
 var i:int = 0;
 var bLoop_:Boolean = true;
 var j:int = 10;
 while (bLoop_)
 {
  i++;
  if(j==0)
  {
  }
  else if(j==1)
  {
  }
  else if(j==2)
  {
  }
  else if(j==3)
  {
  }
  else if(j==4)
  {
  }
  else if(j==5)
  {
  }
  else if(j==6)
  {
  }
  else if(j==7)
  {
  }
  else if(j==8)
  {
  }
  else if(j==9)
  {
  }
  else if(j==10)
  {
  }
  if (i==iTo_)
  {
   bLoop_=false;
  }
 }
 trace ("[if]"+(getTimer()-iTmStart_));
}
function dAddSw (iTo_)
{
 var iTmStart_:int = getTimer();
 var i:int = 0;
 var j:int = 10;
 var bLoop_:Boolean = true;
 while (bLoop_)
 {
  i++;
  switch (j)
  {
   case 0:    
    break;
   case 1:    
    break;
   case 2:    
    break;
   case 3:    
    break;
   case 4:    
    break;
   case  5:    
    break;
   case 6:    
    break;
   case 7:    
    break;
   case 8:    
    break;
   case 9:    
    break;
   case 10:    
    break;
  }
  if (i==iTo_)
  {
   bLoop_=false;
  }
 }
 trace ("[switch]"+(getTimer()-iTmStart_));
}

dAddSw (3000000);
doAddIf (3000000);
 

switch]211
[if]161

结论:在FLASH中switch的执行效率不如if语句;

在C++中就不一样了,网上说是switch会快;

原创粉丝点击