回答:
echoアカデミック環境でのみ高速です。違いは非常にわずかです。私が行った簡単なベンチマーク:2000以上のノードを持つテーブルから1つの行をフェッチする時間は1ユニットです。
1ユニットの改善を得るには、約3.700.000(3ミリオン以上)のprintステートメントをに置き換える必要がありechoます。言い換えると、パフォーマンスの改善が必要な場合、これはほとんど開始する場所ではありません。
そのprint場合、はるかに広い範囲のケースで使用できると見られecho、最初の方法にはいくつかの利点があります。次の3つのオプションがあります。
printecho可能な場合は使用し、フォールバックprintecho常にしている場合、あなたのコードをリファクタリングecho、それを使用するために、使用することはできませんDrupalは最初にデフォルトになりました。
これが選ばれた理由に関するあなたの実際の質問に答えるために:それはそうではありませんでした。単純にこのように成長しました。
if (! print some_method() ) {print some_other_method()}です。実際に何かを印刷した場合、printはTRUEを返すため。Echoは何も返さないため、これも高速です。もう1つの例return print $somevalueは、メソッドの最後にステータスを返すことです。