Hace un par de días, encontré esta comparativa entre tres de los sistemas que podemos utilizar en PHP para cachear grandes arrays de datos , comprimiendolos y almacenándolos en archivos.
Es este artículo, se utilizan 3 métodos distintos:
- JSON (json_encode y json_decode)
- Serialization (serialize y unserialize)
- var_export / include (var_export y include)
La prueba para obtener a un ganador entre estos tres métodos fué la siguente:
Se utilizaron 5 conjuntos de datos, con diferentes tamaños (de memoria utilizada): 904B, ~18kB, ~250kB, ~4.5MB and ~72.5MB.
A estos conjuntos se los sometió a 10 codificaciones/decodificaciones, calculando el tamaño del archivo generado, y el tiempo tardado en relaizar cada operación.
Los resultados son bastante reveladores:
- El método con mayor ratio de compresión es JSON.
- Hasta que no lidiamos con cantidades “ingentes” de datos ( más de 30Mb), los mejores resultados se obtienen con serialize/unserialize.
- A partir de los 30Mb, el rendimiento de serialize/unserialize disminuye casi exponencialmente.
- A partir de los 30Mb, JSON se convierte en el método más eficaz.
Más información sobre cómo y dónde se realizó la comparativa, así como más gráficas, en el artículo original: Cache a large array JSON serialize or var_export
Deja tu comentario