php - タグのオープン/クローズとパフォーマンス?

原文 php html performance templates tags

これはばかげた質問かもしれませんが、PHPを比較的初めて使う人として、HTMLテンプレートコードで頻繁にPHPタグを開いたり閉じたりすることにパフォーマンス関連の問題があるかどうかと思います。 PHPタグを操作する方法

私の質問は、終了タグの重要性/正確さ、またはどのタイプのコードが他のコードより読みやすいかについてではなく、ドキュメントがどのように解析/実行され、パフォーマンスにどのような影響があるかについてです。

説明のために、次の2つの極端な例を考えます。

PHPタグとHTMLタグの混在:

<?php echo
   '<tr>
       <td>'.$variable1.'</td>
       <td>'.$variable2.'</td>
       <td>'.$variable3.'</td>
       <td>'.$variable4.'</td>
       <td>'.$variable5.'</td>
   </tr>'
?>
// PHP tag opened once


PHPタグとHTMLタグを分離する:

<tr>
   <td><?php echo $variable1 ?></td>
   <td><?php echo $variable2 ?></td>
   <td><?php echo $variable3 ?></td>
   <td><?php echo $variable4 ?></td>
   <td><?php echo $variable5 ?></td>
</tr>
// PHP tag opened five times


たとえそれが違いをもたらさないと聞くだけであっても、これについてのいくつかの見解を聞くことに興味があります。

ありがとう。
答え
あなたがそれを正しくするための3つの簡単なルール:


構文の問題がパフォーマンスに影響を与えることはありません。データ操作は行います。
プロファイリングの結果にのみ裏打ちされたパフォーマンスと言えます。
早期の最適化はすべての悪の根源です


パフォーマンスの問題を理解するのは非常に困難です。初心者には考慮しないことをお勧めします。彼らはいつもささいなことに感動し、本当に重要なものを見ることを怠るからです。経験不足だからといって。

あなたの質問も同じです。あなたがこれまでにいくつかの違いを得ると想像してください。大きなものでも、1つの方法は2倍高速です。ああ、2回!私はそれを選択し、アプリを最適化しました。今では50%速く実行されます!

違う。 50%ではありません。この速度の増加に気づいたり、測定したりすることはありません。スクリプトランタイム全体の0,0001%しかかからない部分を最適化したからです。

大きなHTMLテーブルに関しては、ブラウザがそれをレンダリングするのに長い時間がかかります。生成するのに必要な量をはるかに超えています。

プロファイリングは、パフォーマンスの世界におけるキーワードです。 「プロファイリング」という言葉が含まれていない場合、パフォーマンス関連の質問は間違いなく破棄できます。
同時に、プロファイリングはロケット科学ではありません。スクリプトのさまざまな部分の実行時間を測定しているだけです。 xdebugなどのプロファイラーを使用して、またはmicrotime(1)を使用して手動で実行できます。そして、最も遅い部分を検出した後でのみ、テストを開始できます。

パフォーマンスに関する質問をする前に、プロファイリングについて学びます。
そして、実際に理由がない場合は、パフォーマンスに関する質問をしないようにしてください。

時期尚早の最適化は、すべての悪の根源です-D.Knuth
関連記事

javascript - PHPにJavaScript変数を送信するAjax

php - ソースからPHP 7をコンパイルする

php - xmlフォーマット-シンプルなxmlはかなりのフォーマットを行いません(インデントフォーマット)

php - MySQLテーブルのキーごとの最大レコード数の制限

php - 無効なステータス行の取得10380HTTP / 1.1 200 OK

php - PHP:JSON APIとGETの操作

php - jQueryはAjaxライブ検索から入力を取得します

php - CurlコマンドとスリムなPHP

php - Yii2 Auth選択レンダーウィジェットが機能しない

php - Cakephpでのユーザー入力に基づいて複数のレコードを保存する