Home >Backend Development >PHP Tutorial > PHP中if/else实施机制

PHP中if/else实施机制

WBOY
WBOYOriginal
2016-06-13 13:09:43985browse

PHP中if/else执行机制
如下代码,php中测试是if分支慢2.9秒,else分支快2.2秒,把if条件在1==1和1!=1变换,这是怎么样的机制造成的呢?

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
    $stime=microtime(true); //获取程序开始执行的时间
    $j=0;
  for($i=0;$i


------解决方案--------------------
已测,没你说的那回事.
PHP code
/*if 
0.55976009368896秒  
0.55944108963013秒
0.56911516189575秒
0.5602080821991秒
0.56702303886414秒
else
0.5650839805603秒 
0.56633019447327秒
0.56741714477539秒
0.56370115280151秒
0.56349802017212秒
*/
<br><font color="#e78608">------解决方案--------------------</font><br>if else执行效率差异只在if代码块和else代码块中代码的执行效率吧?<br>这里的两块代码是一样的,应该执行时间大致是相同的吧
<br><font color="#e78608">------解决方案--------------------</font><br>是由于花括号产生的,php代码并非我们看上去的这几行,php最终会以C来运行,所以每一个符号每一行,C都要进行转化解释
<br><font color="#e78608">------解决方案--------------------</font><br>这样的问题应该让怪蜀黍来解答...<br><br>
探讨

php是执行C的,那么所有c优化方案都可以应用?但是转化也需要时间,如何综合测定性能和找到性能提升的突破点~请大家指点

------解决方案--------------------
因为if要判断, else不用判断, 你试下 else if 看看, 更慢, 而== 和 != 不就0和1, 没什么区别。

一门语言如果if ... else 语句的设计都成性能问题, 那这门语言可以被遗弃了。
------解决方案--------------------
探讨

php是执行C的,那么所有c优化方案都可以应用?但是转化也需要时间,如何综合测定性能和找到性能提升的突破点~请大家指点

------解决方案--------------------
if 和 else 块里的执行代码相等, 效率相等。
------解决方案--------------------
探讨

if 和 else 块里的执行代码相等, 效率相等。

------解决方案--------------------
探讨

引用:

因为if要判断, else不用判断, 你试下 else if 看看, 更慢, 而== 和 != 不就0和1, 没什么区别。

一门语言如果if ... else 语句的设计都成性能问题, 那这门语言可以被遗弃了。


最开始先纠结了下这些很小的细节,不过觉得可能对性能优化确实有点微弱,如果我想要做性能优化,从哪方面入手才是合适的呢?
……

------解决方案--------------------
继续继续,多学点
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn