ホームページ  >  記事  >  バックエンド開発  >  オペコードは PHP コードのパフォーマンス関連の問題を検討します

オペコードは PHP コードのパフォーマンス関連の問題を検討します

WBOY
WBOYオリジナル
2016-06-13 13:20:201016ブラウズ

Opcode は PHP コードのパフォーマンスの問題と疑問を調査します

最近、「?PHP コーディングのヒント」で言及されている点を目にしました。: for 判定条件での操作は避けてください。

?

それで、vld で調べてみました:


for ($i=0; $i


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


オペコード:


$name = "xiaoshenge";
for ($i = 0; $i < strlen($name); $i++) {
    echo "1";
}

?

$name = "xiaoshenge";
for ($i = 0, $j = strlen($name); $i < $j; $i++) {
    echo "1";
}
?


この観点からすると、オペコードの違いがまったく分からないので、以前に読んだオペコードを使用して PHP コードのパフォーマンスの問題を調べているという記事に少し疑問を感じたので、メールを送信しました数人の先輩に休暇を申請しましたが、それを見て私に返信したのは1人だけでした。

?

?

reeze.xia@gmail.com (http://www.phppan.com/) の反応:

?

2 つのオペコードが似ていることは理解できますが、オペコードは実行する必要がある操作を単に変換することに相当します。

ただし、後者はより小規模な計算が必要ですが、コードから 2 つの違いを直感的に確認できます。

パフォーマンスにはあまりにも多くのコンテンツが含まれるため、最終的にはパフォーマンス テストを行って検証する必要があります。

Zend エンジン自体が操作を最適化する可能性があり、CPU 自体も独自の最適化を行う可能性があり、パフォーマンスに影響を与える可能性があります:)


つまり、PHP のオペコードは、C のようなコンパイルされた実行可能ファイルではありません。オペコードを使用してコードの実行効率を共有するだけでは、まだ少し問題があります...

?

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。