>백엔드 개발 >PHP 튜토리얼 > opcode看PHP代码性能有关问题之疑惑

opcode看PHP代码性能有关问题之疑惑

WBOY
WBOY원래의
2016-06-13 13:20:201095검색

opcode看PHP代码性能问题之疑惑

最近在看到《?一些PHP Coding Tips》中提到一点:避免在for判断条件中做运算。

?

于是兴起用vld看了一下:


for ($i=0; $i


for($i=0, $j=strlen($str); $i


opcode:


$name = "xiaoshenge";
for ($i = 0; $i 

?

$name = "xiaoshenge";
for ($i = 0, $j = strlen($name); $i 
?
<p><br><img alt="" src="http://www.daimami.com/img/2014/01/01/1605161658.bmp"></p>
<p>由此来看的opcode区别还真看不出来,所以我有点怀疑之前看到的文章用opcode来看PHP代码的性能问题,于是发邮件请假了几个前辈,但是只有一个看到并且回复我了。</p>
<p>?</p>
<p>?</p>
<p>其中reeze.xia@gmail.com(http://www.phppan.com/)是怎么回复的:</p>
<p>?</p>
<p>这两者的opcode相近也是可以理解的,opcode相当于只是把需要进行的操作翻译了一下,
</p>
<p>不过我们直观的从代码也能看出两者的却别,后者需要进行的计算会小点,不过这只是从直观看的,</p>
<p>最终我们还是需要自己做个性能测试验证一下,因为性能涉及到的内容太广了,</p>
<p>Zend引擎本身可能会对操作进行优化,CPU自己也会有自己的优化,这些都可能都会影响到我们的性能:)</p>
<p><br></p>
<p>所以,php的opcode还不是类似C的编译后的可执行文件,单纯用opcode分享代码执行效率还是有点问题的...</p>

<p>?</p>
<p>?</p>
 <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.