Alex Moskalyuk publica en su blog una lista de 12 tips para optimizar tus scritps PHP, buenos consejos, que paso a dejaros por aquí que seguro que os resultan útiles
- Si un método puede ser estático, declaralo estático. La velocidad mejorará por 4
- Evita cosas como __get, __set, __autoload
- require_once() es caro
- Usa las rutas completas en los includes y requires, así se perderá menos tiempo resolviendo la ruta
- Si necesitas saber el momento en el que el script comenzó a ejecutarse $_SERVER[’REQUEST_TIME’] es mejor que time()
- Mira si puedes utilizar strncasecmp, strpbrk y stripos en lugar de expresiones regulares
- preg_replace es más rápido que str_replace, pero strtr es 4 veces más rápido que preg_replace
- Si una funcion, por ejemplo una que reemplace cadenas, acepta arrays y caractéres individuales como argumentos, y si tu lista de argumentos no es demasiado larga, considera escribir unos cuantos estados redundantes para el reemplazo, pasando un caracter de cada vez, en lugar de una línea de código que acepte arrays como argumentos de una búsqueda y reemplazo.
- La supresión de errores con @ es muy lenta
- $row[’id’] es 7 veces más rápido que $row[id]
- Los mensajes de error son caros
- No uses funciones dentro o para loop, como por ejemplo ($x=0; $x < count($array); $x). La función count() es llamada cada vez
Si te ha gustado este post no olvides suscribirte al feed para estar al tanto de las novedades
[...] 12 Consejos de optimización de PHP [...]
[...] No pude evitarlo, son bastante buenos los Tips (Gracias Alma por la tradución ). [...]
[...] No pude evitarlo, son bastante buenos los Tips (Gracias Alma por la tradución ;-)). [...]
Feed RSS de los comentarios de este post.
Que bueno el resumen! Algunos ya los conocía pero otros son realmente interesantes. Me imprimo la página para tenerla a mano e ir implementando los consejos en los nuevos desarrollos que vaya haciendo.
Felicidades, un saludo!
Hola!
Leyendo el punto 7 vi algo que me llamó la atención: “preg_replace es más rápido que str_replace”, creo que había leído en otros artículos sobre optimización de PHP que era todo lo contrario.
Para asegurarme de que estoy en lo cierto miro el articulo original de autor, y veo que este se basa en un pdf sobre el tema: http://www.ilia.ws/files/zend_performance.pdf (por cierto muy recomendable), en la página 42 habla sobre el punto 7, el título de la diapositiva es: “If Possible Avoid Regex” y si bajamos un par de páginas vemos que str_replace es la función más rápida.
Supongo que seria un traspiés del autor.
Saludos.