Помогает ли хинтинг типов при выполнении сценариев PHP?

Хинтинг типа помогает компилятору принять тип переменной, но, поскольку PHP является интерпретируемым языком динамических сценариев, у меня возник вопрос, возможно ли, что хинтинг типов даже ускоряет выполнение или нет?

9
задан Arsham 27 August 2010 в 00:58
поделиться

3 ответа

PHP — динамический язык.
Динамические языки поддерживают только проверку во время выполнения.
Подсказка типа — это проверка типа во время выполнения.
Проверка типов во время выполнения плохо влияет на производительность.
Следовательно, подсказка типа плохо влияет на производительность.

18
ответ дан 4 December 2019 в 09:11
поделиться

Все, что делает подсказка типа в PHP, это добавляет код, который проверяет тип параметров и терпит неудачу, если это не то, что ожидается, поэтому подсказка типа НИКОГДА не повышает производительность. Его единственное реальное использование — отладка, поэтому, если у вас есть функция, которая вызывается очень часто, удаление подсказки типа в производственном коде может ускорить процесс, тем более что проверка типа объекта — не самая быстрая вещь в мире.

также см. когда следует использовать подсказку типа в PHP?

1
ответ дан 4 December 2019 в 09:11
поделиться

Подсказка типа только снижает производительность, поскольку требует (для объектов) проверки иерархии наследования. Что еще хуже, этот вид проверки является дорогостоящим в PHP, потому что он выполняется за время, пропорциональное глубине иерархии.

Тем не менее, проверка типа, такая как проверка подсказки array, требует гораздо меньших затрат.

Кроме того, в настоящее время он не используется ни для каких целей оптимизации.

Тем не менее, это полезная защитная функция программирования.

4
ответ дан 4 December 2019 в 09:11
поделиться
Другие вопросы по тегам:

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