it-swarm-ja.com

コアがエコーではなく印刷を使用するのはなぜですか?

私はどこかで読んだことがあり、どこで覚えているかはわかりませんが、echoprintよりも効率的にデータを出力する方法です。

Drupalコアがprintをそんなに使用するのはなぜですか?その背後に特別な理由はありますか?

23
jayarjo

echoは、学術環境でのみ高速です。違いは非常にわずかです。私がやった簡単なベンチマーク:2000ノードを超えるテーブルから1行をフェッチする時間は1ユニットです。

1ユニットの改善を得るには、約3.700.000(300万以上)のprintステートメントをechoに置き換える必要があります。言い換えれば、パフォーマンスの向上が必要な場合、これから始めるのは困難です。

printechoよりもはるかに広い範囲で使用できるため、最初の方法にはいくつかの利点があります。次の3つのオプションがあります。

  • 常にprintを使用します
  • 可能な場合はechoを使用し、printにフォールバック
  • echoを常に使用し、echoを使用できない場合はコードをリファクタリングして使用します

最初はDrupalがデフォルトになっています。

これが選ばれた理由についてのあなたの実際の質問に答えるために:それは選ばれませんでした。それは単にこのように成長しました。

25
berkes