0

ページの読み込み時間について実際的な質問があります。

次の出力が必要だとします。

<a class="class-a" href="www.google.com"></a>

(読み込み時間と効率に関して)次のことを行う方が高速ですか?

<a class="<?php echo $class_a; ?>" href="<?php echo $url; ?>"></a>

また

echo "<a class='$class_a' href='$url'></a>";

これはより大きな問題の縮図です。ページで echo を複数回使用している場合、HTML 出力を 1 つの変数に凝縮して一度にエコーする方がよいでしょうか??

ありがとう!

4

4 に答える 4

4

これらの2つは実際には違いはありません。1つまたは2つのエコーは関係ありません。1000エコーは関係ありません。本当に物事の壮大なスケールを見るとき、エコーは重要ではありません。タイトなループでラップトップで毎秒500万エコーを実行できます。実行に1ミリ秒または2ミリ秒かかる1つのSQLクエリを実行すると、5000回のエコー呼び出しの差が多かれ少なかれ得られます。それはそれがどれほど無関係であるかです。

実行したいのは、プロファイラーを使用してコードを調べ、パフォーマンスに問題がある場合のボトルネックを見つけることですが、エコーの数について心配する必要はありません。ちなみに、例のように生のPHPではなくテンプレートを使用してHTMLを印刷するには、おそらくTwigのようなものを使用する必要があります。少なくともこれにより、自動HTMLエンティティがエスケープされ、たとえばXSSから保護されます。

于 2012-05-12T13:01:42.023 に答える
1

パフォーマンスの観点から、出力への印刷はコストのかかる操作であるため、2番目の方が高速です。ただし、高速で実行されるコードのコードを読み取るためにエッセイを犠牲にしないように注意する必要があります。

于 2012-05-12T12:56:05.187 に答える
1

私はあなたが以前に求めているのと同様のテストを実行しました。

あなたが投稿した2つの例のうち、最初の例は2番目の例に比べてわずかに遅いことがわかりました。

事前に出力をバッファに保存すると、より多くのメモリを使用することになり、2つの例の中で最も遅い例よりもわずかに遅くなります。

他の人が指摘しているように、それは完全に無関係であり、私はあなたが得るかもしれないと思うどんな種類の速度最適化よりも保守性と読みやすさの容易さを優先します。

于 2012-05-12T13:04:37.923 に答える
0

完全に無意味なマイクロ最適化。違いがあるかどうかは、正確に使用するPHPランタイムによって異なりますが、あらゆる種類のDBアクセス、サーバー構成、およびバイトコードのキャッシュと比較すると、まったく関係ありません。

これは、特にパフォーマンスが重要な場合は、1秒でも心配する必要のある種類のことではありません。

于 2012-05-12T12:57:59.260 に答える