Libro de Visitas Gratis
Inicio | Directorio de Páginas | Diseño Gráfico | Gadgets | Posicionamiento | Webmasters| Buscador de Artículos | Glosarios

Estudio comparativo de funciones PHP

Añade Tu Web Al Directorio de NocionDigital.com
En el siguiente enlace http://byster.net/?page_id=48 podemos encontrar un benchmark sobre algunas operaciones usando PHP5 que resulta interesante para decidirnos que funciones utilizar en nuestros códigos. También es curioso poder comparar estos mismos resultados con los dados en PHP4, por lo general parece que no hemos ganado en velocida, en algunos casos hasta es más lento la versión 5.

Arrays:

Para leer arrays es mucho más rápido usar for que foreach o while, provado con un array de 100.000 registros foreach tarda un poco más que for peró la diferéncia está entre for y while ya que este segundo tarda más del doble en recorrer el mismo array.

En la creación de arrays for y while se comportan casi igual de rápidos, aunque curiosamente más lentos que en PHP4.

Para saber el tamaño de un array podemos usar el count o el sizeof teniendo este último un poco de más velocidad peró casi inapreciable.


Concatenación:

Es más rápido concatenar una cadena y una variable usando el punto (.) que incluyéndo la variable entre comillas dobles

Usar

$test="test".$i;

es mejor que

$test="test$i";

En PHP4 también era un poco más rápida esta acción.


Split VS Explode:

En el test también se puede ver que usar explode es mejor que usar split ya que es 8 veces más rápido.

Números aleatorios:

También hay una gran diferéncia entre usar srand y mt_srand, ya que la segunda opción es 5 veces más rápida que la primera.


Expresiones regulares:

En la comparativa entre preg_match y eregi para evaluar expresiones regulares podemos ver que es mucho más rápido usar preg_match, hasta 4.7 veces más rápido revisando un archivo de 32Mb, aunque mucho más lento si lo comparamos con la velocida que tenia en PHP4.


PHP5
http://byster.net/?page_id=48

PHP4
http://byster.net/?page_id=36
 
Hits
DOCUMENTOS RELACIONDOS
988
Control de flujo (I): IF .. THEN.
1184
Buscador interno en ficheros.
1021
Redirección del Error de servidor 301 mediante ASP.
1416
Abrir una ventana con efecto de izquierda a derecha.
1088
Forzar la descarga de un documento.
2096
Piedra, Papel, Tijeras (el juego).
1180
Creación, lectura y duración de las Cookies.
3818
Sistema de postales sin bases de datos, con simples archivos de texto.
1034
Mostrar información.
1271
Recomendar pagina mediante enlace.
3885
Disminuir el uso de recursos con mysql_fetch_assoc y mysql_fetch_row.
1807
Substitución de links dentro de un archivo usando expresiones regulares.
968
"Sabados" del mes.
2013
Uso de diferentes bases de datos en el mismo Script.
10217
Expresiones regulares en PHP.
1513
Ver imagen que se envia.
1077
Intercambio de información entre programas.
2261
Diferentes métodos de paso de variables, ¿Cual elegir?.
1482
Imprimir fecha usando el listado de LCID.
3888
Comandos para números aleatorios (RAND, MT_RAND).


www.nociondigital.com - Todo para un mundo digital. Páginas Webs, Buscadores y Webmasters....