私はecho
データの1000行のテーブルをする必要がありますか?echo
すべてのデータを1つの文字列でまたは ?PHP:1つの大きなエコー(または印刷)VS多くの小さなエコー(または印刷)
答えて
http://phplens.com/lens/php-book/optimizing-debugging-php.php(記事の最後の3分の1を参照)によると、大きなecho文を使用し、二重引用符の代わりに一重引用符を使用する必要があるため、PHPは文字列内の変数をチェックすることはありません。サポートのための
簡単なテスト:
$bgn = microtime(true);
for ($i=0; $i<=1000; $i++)
{
echo $i;
}
echo "\n", round(microtime(true)-$bgn, 4), "\n";
unset($bgn);
$bgn = microtime(true);
$b = '';
for ($i=0; $i<=1000; $i++)
{
$b.=$i;
}
echo $b;
echo "\n", round(microtime(true)-$bgn, 4), "\n";
?>
まず実行リターン0.0022
、セカンドランリターン0.0007
が...しかし、これはデータの小さなセットがある一方で、メモリ使用量が非常に小さいです。
私は行ごとにエコーします。この方法でメモリを節約します(出力する前にすべての行をメモリにロードする必要はありません)。
時間当たり私はそれがメモリとスピードのトレードオフだと思います。 – Tobias
エコー行、小さいバッファメモリとメモリが少なく、私が選択した答えのために行ったことをテストに基づいて
(あなたがデータを保持する変数を使用する必要はありません)を使用して、それが反対を示して
目的によって異なります。時間消費は、フィールドの数に応じて通常は問題にならないため、このアクションのメモリ使用量があります(今日のメモリは1000行で問題が発生しないほど十分です)。
私の気持ちは、変更を加えるために1行ずつエコーする方が現実的かもしれないと私には感じますが、それは全く問題ではないと思います。あなたが好きなことをやりなさい。
これは古いです、そしてそれのいくつかは時代遅れですが、あなたはまだ間違いなくあなたはすでに大きく他のすべてを最適化していない限り、それはecho
があなたのボトルネックである可能性は低い、と述べHow Long Is a Piece of String?
をお読みください。
ちょうどあなたのリンクがPHPのオペコードに関する興味深い記事を指していると言います。最適化に興味がなくても非常に有益です。 –
ペッカは言ったように、それは問題ではありません。あなたのコードを最も読みやすくするようにしてください(mysql fetch arrayループ内のラームエコーの代わりに、テンプレートを使用することをお勧めします)。
ボトルネックになる場合は、のプロファイルをまず作成し、最適化してください。実際の生命数に基づいています。噂ではありません。
特定の1000行のテーブルに関しては、それを愚かにする。ただページ付けする。
あなたのアプリが無駄な仕事をしないようにしましょう。それはの実の最適化の秘密です。
- 1. Bashエコーが印刷されない
- 2. なぜ[false]ですか;エコー 'ok'; fi;印刷されますか?
- 3. エコーはヘッダーの前に印刷されていませんphpの場所5.6
- 4. PHPが印刷され続ける/エコー値
- 5. SSH - 接続と実行: "$ SSH_CONNECTIONをエコー| awkの '{$ 1印刷}'"
- 6. 印刷が印刷されないのはなぜですか?
- 7. 印刷したい印刷
- 8. SLURM - スクリーンに印刷する出力ファイルをエコーしますか?
- 9. 大きなWPFユーザーコントロールの印刷
- 10. 大きなリストのリストを印刷
- 11. Codeigniterのコントローラーでの照会結果のエコー/印刷
- 12. 印刷アウトPHPで1
- 13. PHPショートオープンタグ "1"を印刷
- 14. NASMで大きな番号を印刷
- 15. IEは、印刷プレビューでのみ正しく印刷されますか?
- 16. リンクされたリスト印刷最初の0の値の印刷
- 17. 印刷時のPDFシャープmmのサイズは小さくなります
- 18. window.print()で巨大なテーブルを印刷すると1ページだけが印刷されます
- 19. java -jarで起動したときに印刷機能が印刷されないのはなぜですか?
- 20. なぜ私の変数は印刷されませんか? PHP
- 21. ピッキングチケットの印刷( 'T'または 'F')
- 22. 印刷1
- 23. [印刷]ダイアログで[印刷]をクリックしたときのイベント
- 24. 画面に印刷することはできますが、ファイルに1つしか印刷できません。
- 25. C++多形印刷
- 26. PHPは:なぜ宣言印刷4回
- 27. PHPの時差のためのきれいな印刷ライブラリ
- 28. Cデバッグ印刷のマクロが印刷されない
- 29. VIPからの印刷が印刷されない
- 30. イメージマップ:クリックして画面にエコーする/印刷する
はい、この記事では、エコーなどでこのようなループを最適化する方法を示す非常に良い例があります。 – Tobias
非常に明確です、助けてくれてありがとう! – vitto
さらにもう一つの愚かなテスト –