Pensando en Red nada es tan fácil como parece serlo

11nov/090

$GLOBALS vs Static method en PHP 5.2.1

Hoy en el trabajo ha surgido la conversación de si es más efectivo el utilizar clases con métodos estáticos para tener una colección de objetos o variables $GLOBAL. No he utilizado en ninguno de mis desarrollos variables globales por lo que en el trayecto a casa vine dándole vueltas a como poder realizar la prueba de rendimiento entre variables globales y método estático.

Lo que se me ocurrió fue crear dos clases idénticas, a diferencia de que una tiene método estático y la otra no. La no estática la instanciaré en una variable global y entonces comprobaré el uso de memoria.

Ambas clases con una propiedad que almacena el string y con sus métodos de GET y SET. Utilizando el string " Hola Mundo! "

Resultado:

Static

54.1 Kb
Hola Mundo!
Memoria usada: 54.5 KB de 256 KB
Memoria consumida:0.4 KB
0.000107 sec

Globals

54.1 Kb
Hola Mundo!
Memoria usada: 54.8 KB de 256 KB
Memoria consumida:0.7 KB
0.000126 sec

La conclusión es clara, Globals consume 0.3Kb más que un método estático y es algo más lento. Esta prueba se ha realizado con un simple string pero si la hiciéramos en una aplicación los datos de memoria y de tiempo tendrían una diferencia más notable.

Etiquetado con: , , No hay comentarios
   

Page optimized by WP Minify WordPress Plugin