Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Насколько PHP работает быстрее без notices и warnings

Цитата со «СтекОверфлоу»:

У меня в закладках есть статья, в которой автор сделал некоторые замеры по этому поводу. Правда она на французском… вот ссылка (возможно что-то вы в ней не пойдмёте): Ne faites pas d’erreur.

Основные цифры, в помощь людям, не читающим по-французски:

  • 10 тысяч предупреждений, со включенными error_reporting и display_errors : 5162,76 мс
  • то же, но настройка display_errors выключена: 136,18 мс
  • то же, но error_reporting выключена тоже: 117,79 мс
  • и, наконец, после исправления кода, после которого он перестал выдавать предупреждения: 19,51 мс

Это означает, что код на ПХП работает быстрее без сообщений/предупреждений/ошибок, даже если они не отображаются или не попадают куда-то ещё.

Ctrl ←Hufisu
4 комментария
Николай 2015

Спасибо, информация интересная. Правда это не тот аргумент, который можно озвучивать людям, которые «глушат» ошибки в пхп. Таких нужно просто увольнять.

hshhhhh.name 2015

Комментарий для Николай:

Правда это не тот аргумент, который можно озвучивать людям, которые «глушат» ошибки в пхп. Таких нужно просто увольнять.

Я глушу ошибки в продакшене, например.

Евгений Степанищев (bolknote.ru) 2015

Комментарий для hshhhhh.name:

Их не глушить надо, а в лог отправлять.

СБОЙ В ОБСЛУЖИВАНИИ (ШИФР-500) 2015

помимо обязательной записи в файл/бд, любой notice/e_strict на продакшене должен всегда приводить к *полному останову (die())* с выводом сообщения пользователю в рамках 500-го ответа. можно вывести нотис/исключение as is — пользователю всё станет ясно, но лучше по-русски что-то сказать. на мой взгляд, любые «альтернативные подходы» -​-​ это либо лукавство, маскирующее непорядочность, либо отсутствие осознанной, целостной точки зрения как таковой