2010-08-27 9 views

Respuesta

17

PHP es un lenguaje dinámico.
Los idiomas dinámicos solo admiten la comprobación de tiempo de ejecución.
La sugerencia de tipo es la verificación del tipo de tiempo de ejecución.
La comprobación del tipo de tiempo de ejecución es mala para el rendimiento.
Por lo tanto, el tipo de sugerencia es malo para el rendimiento.

+1

+1 - Me gusta esto, es casi como un zen de tipo insinuación (o algo) :) – karim79

+0

¿Qué hay de ejecutar Zend Optimizer o algo similar con cachés el opcode? – MANCHUCK

+0

¿Qué hace la inferencia de tipos de ff 9, cómo ayuda a mejorar el rendimiento? http://www.extremetech.com/computing/94532-firefox-9-javascript-performance-improved-by-20-30-with-type-inference – tom

2

Todo tipo de alusión en PHP hace es agregar código que prueba el tipo de los parámetros y falla si no es lo que se espera, así que escriba sugerencias NUNCA ayuda al rendimiento. Su único uso real es la depuración, por lo que si tiene una función que se llama con mucha frecuencia, eliminar la sugerencia de tipo en el código de producción puede acelerar las cosas, especialmente porque verificar el tipo de objeto no es lo más rápido del mundo.

también ver when should I use type hinting in PHP?

+5

Preciso a excepción de "Su único uso real es para la depuración". Las sugerencias de tipo introducen un nivel de seguridad para su código. –

+0

El segundo enlace está muerto – Gricey

4

Tipo dando a entender solamente dificulta el rendimiento, ya que requiere (para objetos) para probar la jerarquía de herencia. Para empeorar las cosas, este tipo de verificación es costoso en PHP porque se realiza en un tiempo proporcional a la profundidad de la jerarquía.

Una prueba de tipo, como la hecha para la sugerencia de array es una sobrecarga mucho menor, sin embargo.

Además, actualmente no se utiliza para fines de optimización.

Sin embargo, es una función de programación defensiva útil.

Cuestiones relacionadas