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