вторник, 10 июля 2007 г.

ECHO or PRINT

Вопрос который возникает у любого начинающего php программиста, когда он открывает для себя великую истину - "не все функции работают одинаково быстро", что быстрее print или echo? На самом деле любой мог бы сам это проверить. Но новичку эта идея не всегда приходит в голову.

Несколько коротких выводов из моего опыта и попутно упомяну несколько важных особеннностей:
  • быстрее echo, правда результат не назовешь стабильным. В моих экспериментах результат с единичным вызовом и множественной итерации сильно отличался
  • разница исполнения очень мала
поэтому плюньте и учитывайте только в действительно больших итерациях, правда и тут под вопросом, автор статьи по данной ссылке даже при 20 000 000 итераций добился лишь 0,16% выигрыша производительности. используйте то, к чему вы привыкли


Особенности:
  • print ведет себя как функция, то есть возвращает значение (int 1)
  • echo поддерживает вывод нескольких параметров разделенных запятой, что быстрее чем вывод с конкантинацией, который единственно доступен для print.

2 комментария:

Анонимный комментирует...

print() возвращает не булево значение, а число int(1)

seligoroff комментирует...

Да, спасибо. Писал тогда, не заглянув в документацию. Конечно int 1.

Linux: генерация рандомной строки для пароля

 cat /dev/urandom | tr -dc '[:alnum:]' | fold -w ${1:-20} | head -n 1