Pregunta

Usando groovy, ¿esperaría un mejor rendimiento en términos de velocidad y sobrecarga de memoria para leer y consultar JSON vs XML?

¿Fue útil?

Solución

JSON es más pequeño y más simple que XML. Apostaría a que JSON es más rápido de analizar.

YAML sería aún más rápido.

Otros consejos

Si la velocidad era realmente un problema, preferiría usar una biblioteca Java para analizar lo que quiera que confiar en la implementación de Groovy's.

Si es el mismo esquema y la misma información, el uso de la memoria será casi el mismo. El rendimiento debe ser insignificante entre los dos.

Creo que la diferencia de rendimiento sería indetectable para cualquier otra cosa que no sea un generador de perfiles si el esquema y los datos son los mismos. Dicho esto, podría ver una gran diferencia si usó el analizador XML incorrecto. En otras palabras, una implementación de SAX podría fácilmente igualar o posiblemente superar el análisis JSON. Hay muchos factores externos para cinsider. Si desea que la historia real, lance un analizador JSON y un analizador SAX a los mismos datos / esquema sin lógica adicional. Los grandes ahorros provienen de la lógica utilizada para interpretar el análisis. Es posible que sea más sencillo usar un DOM o un analizador de extracción dependiendo de sus requisitos, mientras que SAx podría causar una solución de incumplimiento demasiado complicada. También hay diferencias notables entre los analizadores también. Agregue la variable de tamaño de archivo y perderá rápidamente el alcance de lo que realmente está midiendo. Otro ejemplo, si su XML incluye descripciones de DTD y referencias de entidades que deben resolverse por cable y su conexión de red tiene una latencia alta, entonces podría ver mejoras con JSON. Todo se reduce a lo que realmente estás tratando de hacer.

XML tiene un poco más de sobrecarga que JSON debido a los corchetes angulares y la información adicional y qué no. Cualquier buen analizador debería poder analizar JSON más rápido que XML por este motivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top