El mito de las comillas de PHP

¿Cual de las siguientes 3 instrucciones es más rápida?

  1. $resultado = "cadena " . $variable;

  2. $resultado = "cadena $variable";

  3. $resultado = 'cadena ' . $variable;

Se trata de uno de los mitos más extendidos sobre PHP. Muchos argumentan que las comillas simples son más rápidas, otros defienden lo contrario. En la sección del manual de PHP correspondiente a las cadenas de texto, no se indica si un método es más rápido que otro.

La única diferencia aparente es que las comillas simples no tienen en cuenta el valor de las variables que se incluyen dentro y tampoco procesan los caracteres de control (como \n por ejemplo).

Dave Dash, en un artículo de su blog, ha intentado probar o cazar el mito. Después de ejecutar 2 millones de veces cada una de las instrucciones anteriores (incluso en diferente orden de ejecución) los resultados siempre fueron los mismos:

Los métodos número 1 y número 3 son igual de rápidos y el método 2 es mucho más lento que los anteriores, casi un 30% más lento.

En Symfony el método más utilizado en su código fuente es el último, por lo que es algo que no se debe modificar para aumentar el rendimiento del framework.



Fuente: PHP double versus single quotes

Comentarios

  1. No hay una error ? Es la segunda qué es la mas lenta

    "Meaning the fastest was actually using double quotes and the string append operator"

    COil el 7 de marzo de 2007, 10:54:00

  2. Tienes razón, coil. El problema es que el artículo original estaba mal y lo han actualizado 2 veces desde que lo publicaron.

    Ya está corregido.

    Gracias por el aviso

    sf el 8 de marzo de 2007, 12:40:00

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

4 de marzo de 2007

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.