| 网站首页 | 新闻快报 | 软件教程 | 硬件教程 | 设计学院 | Q Q 专区 | 编程开发 | 网络安全 | 
您现在的位置: 浩扬网络 >> 编程开发 >> PB编程 >> 教程正文
PB代码优化
作者:不详 文章来源:安全中国 点击数: 更新时间:2006-8-4 23:26:15

现今计算机的运行速度已经很快了,并且由于老板时常在耳边念着紧箍咒,因此,我们有意或者无意的忘记优化我们的代码,只要能完成任务就行了(我也是)。不过,我们闲下来的时候,不妨也来看看我们的代码是否有需要改进的地方。下面就是我觉得值得优化的几种情况。

 

第一种情况:


  IF
condition1 AND condition2 THEN

      //Code goes here.

END IF

IF condition1 THEN

      IF condition2 THEN

             //Code goes here.

      END IF

END IF

 

对于书写的第一种方式,由于PB编译方式与常见的方式不同,就是无论条件1的值如何,都要对条件2进行运算。这样一来,当条件1false时,就可能要无谓的对条件2进行运算了。就按随机的概率而言,可能会多进行一半的运算。因此,对于大多数情况而言,我想最好是以第二种方式书写。当然,特殊情况也是有的,那就是你的确想对条件2进行运算。类似地,对于or也一样。

 

IF condition1 OR condition2 THEN

      //Code goes here.

END IF

IF condition1 THEN

      //Code goes here.

ELSE

      IF condition2 THEN

             //Code goes here.

      END IF

END IF

第二种情况:

IF NOT condition THEN

      //Code goes here.

END IF

IF condition THEN

      //No code goes here.

ELSE

      //Code goes here.

END IF

 

对于上一种方式,条件表达式返回false并且再进行一个运算,才执行下面的代码。这样相对于下面一种书写方式可能多执行了一个运算。如果大家有什么疑问,您不妨测试一下下面这个例子:

 

//小测试:其中的判断条件只是为了表示一下,实际情况可能更复杂。

 

long i                   //计数器

long ll_start          //执行开始时间

long ll_used1       //方式一耗时

long ll_used2       //方式二耗时

 

//方式一

ll_start = Cpu()

for i = 1 to 900000

      if not (1 > 1) Then

             i = i

      end if

next        

ll_used1 = Cpu() - ll_start

//方式二

ll_start = Cpu()

for i = 1 to 900000

      if 1 > 1 Then

            

      else

             i = i

      end if

Next

ll_used2 = Cpu() - ll_start

 

//查看结果

If ll_used2 > ll_used1 Then

      MessageBox("提示","前者运行时间短!")

Else

      MessageBox("提示","后者运行时间短!")

End If

 

可能有人会说,用下面的那种方式,如果在条件表达式返回false的时候,那么,if下就没有代码,这样看起来就不太舒服。的确是这样。因此,我们在写成上面的那种方式时,尽量保持不要使用not运算,而保持条件表达式本身就返回希望的true值。

【教程录入:残梦    责任编辑:残梦 】
发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
  • 上一篇教程:

  • 下一篇教程:
  • 网友评论:(评论内容只代表网友观点,与浩扬网络立场无关!)
    热门文章

    赞助商


    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |