20+ Consejos para optimizar tus programas PHP

phpLa optimización de código es algo que ha preocupado a los programadores desde hace mucho tiempo, aunque por suerte o por desgracia, esta preocupación está decrementando día a día dado que los ordenadores con cada vez más potentes y por lo tanto importa menos el malgaste de ciclos de CPU.

Esta preocupación por el tiempo de ejecución de un programa viene dado sobre todo por el desarrollo de proyectos grandes (muchas visitas simultáneas) en los que sea crucial la velocidad de ejecución del algoritmo, por otro lado para aquellos proyectos que dada su escalabilidad pudiesen aumentar su complejidad de una forma un tanto brusca, es importante que el núcleo sea tan eficiente como sea posible además de, obviamente, tener el mínimo número de errores como sea posible, y por último puede que se dé el caso que en el caso de que tengas un servidor compartido, tu hosting te haya dado un toque porque haces uso de demasiados ciclos de CPU a la vez que te instan a migrarte a un plan de hosting más avanzado y que por consiguiente posea más recursos para tu script.

En este artículo vamos a intentar dar algunos consejos que permitan mejorar el rendimiento de nuestras aplicaciones web escritas en PHP con relativamente poco esfuerzo.

1.- Versión de PHP

Si estás utilizando una versión antigua de PHP será conveniente que hicieses una actualización de la misma en tu servidor, esto es así porque con cada versión, el equipo desarrollador de PHP ha ido implementando nuevas funciones así como optimizando partes de código, llegando a, reducir notablemente el tiempo de ejecución y la memoria consumida por determinados scrips y funciones de las que vienen por defecto.

A día de hoy, las últimas versiones estables de PHP son la 5.3.0 y la 5.2.11, eso sí, en ningún caso recomiendo instalar en un servidor en producción una versión que no sea estable.

2.- Utilizar algún sistema de Cacheado

En lenguajes interpretados, como es PHP, cada vez que se desea ejecutar un script, éste ha de ser interpretado, lo que hace que el consumo de CPU se incremente más que si se tratase de un lenguaje compilado, además de que ha de ejecutar todas las operaciones y funciones cada vez que se ejecute, lo que hace que si éstas son complejas, el script se ralentice considerablemente; un ejemplo de estas funciones son las llamadas a la base de datos.

A pesar de que no es recomendable cachear todas las páginas en algunos proyectos, en ocasiones es bastante recomendable utilizar aplicaciones como Memcache para así evitar que se ejecute el script siempre que se hace una petición de una página.

Otra opción es hacer uso de sistemas de templates, como es Smarty, que hace un cacheado de la página pero ejecutando siempre las consultas a la base de datos.

3.- Optimizar el código

3.1.- Strings

En PHP las cadenas de caracteres (Strings) pueden, al contrario que en lenguajes como C o Java, ir rodeados, tanto de comillas dobles («) como de comillas simples (), pero a pesar de que el resultado pueda llegar a ser el mismo, el comportamiento de una cadena delimitada por uno u otro de estos caracteres se comporta de manera diferente. Continue reading “20+ Consejos para optimizar tus programas PHP” »

Según se mire…

Leo en Making Good Software (una web que por cierto acabo de descubrir) una serie de frases de programador, algunas de las cuales son bastante llamativas y otras, simplemente ciertas, pero la que más me ha llamado la atención es la que se corresponde con el punto número 7, traduzco: Leer más…

Kernel escrito en C

windows-linux

Si sabes programar, y te has planteado alguna vez como funciona un Sistema Operativo por dentro, probablemente sepas que la mayoría, por no decir todos están escritos en C, y es más, si has llegado hasta esa información, puede que también te hayas preguntado porque C y no C++ o ensamblador ¿verdad?.

En el punto 15 del FAQ del kernel de linux encontramos las respuestas concretas para el sistema operativo Linux, que supongo que en cierta medida son extensibles al resto de sistemas operativos.

  • Linus comenzó con la programación del núcleo de su nuevo SO en un ordenador 386 con el SO Minix, el cual era muy básico y tenia fines educativos, y para terminar gcc, el compilador de C.
  • Algunas de las partes del núcleo de un sistema operativo han de estar escritas en ensamblador para controlar correctamente algunos elementos del hardware; pero escribir todo el kernel en ensamblador reduciría la legibilidad del código significativamente. Como se puede incluir ensamblador en C, este lenguaje proporciona una gran ventaja respecto al resto.

Continue reading “Kernel escrito en C” »

Códigos Ajax

MiniAjax es una página web que descubrí hace bastante poco tiempo pero que me está gustando bastante. Si bien no es una página web que tenga muchas actualizaciones, en ésta se recopilan algunos códigos Ajax bastante llamativos, y además algunos de ellos bastante útiles.

¿Trabajarías para Google?

Hoy en día, es sabido por todos que Google, es un excelente sitio para trabajar (al menos eso parece desde fuera), ya que les ofrecen a sus empleados comidas gratis, masajes, cortes de pelo profesionales y demás, pero, ¿cuánto cobra un empleado de esta inmensa compañía? Programador en Phoenix – Leer más…