martes, 5 de febrero de 2008

AS2, JSON vs XML

Después de haber probado JSON con AS3 quise hacer lo mismo pero con AS2 y esto fue lo que descubrí...

1. Descargué la clase JSON desde la página oficial (http://www.json.org/). También hay otra clase del mismo autor rondando por la red, tiene la ventaja de ser estática, pero, es notablemente más lenta.

2. Cree un archivo de Flash con 2 DataGrid, el primero lo llamé "dataj_dg" y el otro "datax_dg".

3. Le cree una clase al documento:


Básicamente lo que hace es cargar un JSON y un XML (con los mismos datos) y convertirlos en un DataProvider para pasárselos al los Datagrid. Al final traza el tiempo que demoró procesando cada archivo (la carga no cuenta).

4. Cargué la clase en el primer frame de mi película con este código:

import Main;
var oMain:Main = new Main(this);


5. Usé los mismos archivos .json y .xml del ejemplo de AS3.

6. Lo ejecuté y.....

Tiempo JSON: 17
Tiempo XML: 2

7. Después calculé el tiempo de JSON usandolo después de parseado y los resultados fueron:

Tiempo JSON: 1
Tiempo XML: 2

8. Nuevamente sorprendido.

El test se hizo en un PC Athlon X2 4000+ con 1.87 GB de RAM

Conclusión:
Con JSON usamos mucho menos código ya que se usa como un objeto.
La parseada de JSON come mucho proceso. Si el JSON se carga una sola vez y se usa mucho podría ser una muy buena opción.

Quedo en espera de comentarios, dudas o correcciones.

No hay comentarios: