php работает быстрее без предупреждений?

Это зависит, говорите ли Вы о данных или коде, содержавшем в рамках электронной таблицы. В то время как я имею сильную неприязнь к Визуальному Sourcesafe Microsoft и обычно не был бы, рекомендовал его, это действительно интегрируется легко и с Доступом и с Excel, и обеспечивает управление исходным кодом модулей.

[На самом деле интеграция с Доступом, включает запросы, отчеты и модули как отдельные объекты, которые могут быть имеющими версию]

, ссылка MSDN здесь .

39
задан Spuds 1 July 2010 в 19:01
поделиться

3 ответа

Я добавил в закладки статью, в которой автор сделал несколько тестов по этому поводу; к сожалению, он на французском ... но вот он (возможно, вы поймете некоторые его части) : Ne faites pas d'erreur

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

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

Это означает, что , да, PHP-код работает быстрее без уведомлений / предупреждений / ошибок, даже если они не отображаются и не сообщаются. сообщение внутри, оно обрабатывается и отформатирован до полного форматированное сообщение, которое может быть выводится прямо в браузер.
Только непосредственно перед его отображением Параметр error_reporting проверяется. Однако это не связано с Только @ -оператор.
Ошибка сообщение всегда полностью отформатировано перед проверкой error_reporting или display_errors в этом отношении.

85
ответ дан 27 November 2019 в 02:19
поделиться

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

Проверьте: http://www.noamdesign.com/Web-Design-Blog/15-tips-to-optimizing-your-php-code/ для получения дополнительной информации о несовершеннолетних оптимизации, которые вы можете внести в свой код.

По моему собственному опыту, я обнаружил, что 95% оптимизации кода обычно связано с тем, как вы используете свою базу данных.

2
ответ дан 27 November 2019 в 02:19
поделиться

Зависит от количества предупреждений, но обработка ошибок в PHP, даже при скрытии сообщений об ошибках, относительно относительно дорого.

Что вам нужно сделать Чтобы оценить эффект, выполняется профилирование на уровне C: установите valgrind (при условии, что вы используете Linux), а затем запустите

callgrind /path/to/bin/php /path/to/script.php

, это сгенерирует файл с именем callgrind.12345 или около того, загрузите этот файл в приложение, например kcachegrind и найдите php_error_docref0 или php_error_cb , чтобы узнать, сколько времени было потрачено на обработку ошибок.

Обратите внимание на cachegrind и valgrind docs и помните, что здесь задействовано много системных зависимых переменных.

РЕДАКТИРОВАТЬ: О, еще одно замечание: я предполагаю, что способ больше времени тратится на разговоры с базами данных и аналогичными системами.и еще одно дополнительное примечание: уведомления об исправлении обычно делают код более устойчивым к будущим изменениям, так что это хорошая идея, независимая от производительности.

8
ответ дан 27 November 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: