PB代码优化
时间:2007-06-15
来源: 作者:
【字体:
减小
增大
】
收藏 |
投稿
现今计算机的运行速度已经很快了,并且由于老板时常在耳边念着紧箍咒,因此,我们有意或者无意的忘记优化我们的代码,只要能完成任务就行了(我也是)。不过,我们闲下来的时候,不妨也来看看我们的代码是否有需要改进的地方。下面就是我觉得值得优化的几种情况。 财管家 园 fs119.net
财,管家园,fs119.net
第一种情况:
IFcondition1ANDcondition2THEN 财软联盟.fs119.net
//Codegoeshere. 财软联.盟.fs119.net
ENDIF 财软联 盟 fs119.net
和 财软.联盟.fs119.net
IFcondition1THEN 财软联盟 fs119.net
IFcondition2THEN 财 管家园 fs119.net
//Codegoeshere. 财软.联盟.fs119.net
ENDIF 财,管家园,fs119.net
ENDIF 财 软联盟 fs119.net
财软联盟.fs119.net
对于书写的第一种方式,由于PB编译方式与常见的方式不同,就是无论条件1的值如何,都要对条件2进行运算。这样一来,当条件1为false时,就可能要无谓的对条件2进行运算了。就按随机的概率而言,可能会多进行一半的运算。因此,对于大多数情况而言,我想最好是以第二种方式书写。当然,特殊情况也是有的,那就是你的确想对条件2进行运算。类似地,对于or也一样。 财软联盟 fs119.net
财软联,盟,fs119.net
IFcondition1ORcondition2THEN 财管家 园 fs119.net
//Codegoeshere. 财管家 园 fs119.net
ENDIF 财软联.盟.fs119.net
和 财管.家园.fs119.net
IFcondition1THEN 财软联.盟.fs119.net
//Codegoeshere. 财管,家园,fs119.net
ELSE 财管家园.fs119.net
IFcondition2THEN 财软联盟,fs119.net
//Codegoeshere. 财管家 园 fs119.net
ENDIF 财软联 盟 fs119.net
ENDIF 财 管家园 fs119.net
财管家园 fs119.net
财软,联盟,fs119.net
财 软联盟 fs119.net
财管.家园.fs119.net
财,管家园,fs119.net
第二种情况:
财管家园,fs119.net
IFNOTconditionTHEN 财管家园,fs119.net
//Codegoeshere. 财软联.盟.fs119.net
ENDIF 财,软联盟,fs119.net
和 财 管家园 fs119.net
IFconditionTHEN 财,管家园,fs119.net
//Nocodegoeshere. 财 管家园 fs119.net
ELSE 财软联盟,fs119.net
//Codegoeshere. 财,管家园,fs119.net
ENDIF 财管 家园 fs119.net
财管.家园.fs119.net
对于上一种方式,条件表达式返回false并且再进行一个非运算,才执行下面的代码。这样相对于下面一种书写方式可能多执行了一个非运算。如果大家有什么疑问,您不妨测试一下下面这个例子: 财 软联盟 fs119.net
财管家园.fs119.net
//小测试:其中的判断条件只是为了表示一下,实际情况可能更复杂。 财软 联盟 fs119.net
财管.家园.fs119.net
longi//计数器 财 软联盟 fs119.net
longll_start//执行开始时间 财软联.盟.fs119.net
longll_used1//方式一耗时 财,软联盟,fs119.net
longll_used2//方式二耗时 财 软联盟 fs119.net
财管家,园,fs119.net
//方式一 财管,家园,fs119.net
ll_start=Cpu() 财管家 园 fs119.net
fori=1to900000 财软联盟,fs119.net
ifnot(1>1)Then 财管家园 fs119.net
i=i 财软 联盟 fs119.net
endif 财管家,园,fs119.net