Estoy usando un servicio web que proporciona un gran conjunto de resultados en formato XML o JSON. ¿Qué formato será más rápido o mejor (basado en el rendimiento)? ¿También qué idioma debo usar para analizar XML / JSON? ¿Debo usar PHP o JavaScript?

4
Andromeda 10 jun. 2009 a las 12:23

7 respuestas

La mejor respuesta

"PHP o JavaScript" parece una opción extraña para ofrecer: PHP se usa generalmente como un lenguaje del lado del servidor, mientras que JavaScript se usa generalmente como un lenguaje del lado del cliente.

Cual es tu situacion ¿Qué te hace sugerir esos dos idiomas en particular? Si pudiera dar más información sobre lo que está tratando de hacer, eso ayudaría mucho. (No sabemos si está desarrollando una aplicación web, una herramienta de procesamiento por lotes, una aplicación GUI, etc.)

Sospecho que JSON será un poco más compacto que XML, aunque si están comprimiendo los datos, es posible que terminen tomando el mismo ancho de banda (ya que gran parte de la "hinchazón" de XML es fácilmente comprimible).

Como siempre, la mejor manera de averiguarlo es probar el servicio web específico con algunos datos realistas. Las generalidades no son una buena base para la toma de decisiones.

12
Jon Skeet 10 jun. 2009 a las 08:26

Deberías usar python, preferiblemente :)

En cuanto al formato, supongo que JSON sería un poco más rápido, pero depende de los detalles, y esta tarea estaría vinculada a la red de todos modos.

-2
alamar 10 jun. 2009 a las 08:26

Yo iría por JSON, no estás pagando el "impuesto de paréntesis angular". La elección entre PHP y Javascript está relacionada con la cantidad de procesamiento requerido en los datos (estoy dando un salto aquí).

Gran cantidad de procesamiento, use PHP, por lo que es del lado del servidor. Poco procesamiento utiliza Javascript para una página más receptiva (cargar datos a través de AJAX).

2
Garry Shutler 10 jun. 2009 a las 08:27

Si está utilizando una aplicación con ajax, debe elegir Javascript para procesar los datos en el lado del cliente, lo que reducirá el uso de php en el servidor, lo que significa un lado del servidor más eficiente. puede almacenar su conjunto de resultados en un archivo json y luego puede llamarlo en el lado del cliente con javascript, esta será la mejor manera posible porque esto no consumirá sus recursos en el servidor y los datos se procesarán en el lado del cliente. aquí daré preferencia a json sobre xml porque xml ocupa más espacio para almacenar que json debido a su estilo de etiquetas y json es como una matriz en javascript que será más rápida que xml. Lo mismo en el lado del servidor, puede convertir fácilmente su matriz json a matriz php (solo consulte la función json_decode en PHP).

Hoy en día, json está de moda porque es fácil de usar y más rápido.

Para un rendimiento más rápido, debe reducir el procesamiento de datos en el lado del servidor y, en su lugar, utilizar recursos del lado del cliente. Este enfoque le dará a su aplicación velocidad y rentabilidad.

-3
Ranjeet Singh 11 abr. 2012 a las 09:37

Aunque los aspectos de rendimiento realmente varían mucho entre las combinaciones de idioma / herramienta, al final xml y json tienden a tener características de rendimiento similares cuando se utilizan las mejores herramientas de la plataforma. Es decir, no encontrarás uno más dos veces más rápido o más; Los límites teóricos son similares para los formatos de texto. Ambos son "suficientemente buenos" en este sentido para casi cualquier caso de uso.

Por lo tanto, me centraría más en el soporte de herramientas, para la tarea que tiene. Aparte de eso, es poco probable que la elección del formato sea el aspecto más importante a considerar.

Y como Jon mencionó, la comparación de PHP y Javascript realmente suena extraño ... manzanas y naranjas más o menos.

1
StaxMan 11 jun. 2009 a las 02:40

Creo que tendrás que medirlo tú mismo. El rendimiento dependerá de:

  1. el tamaño de los datos
  2. la complejidad de los datos
  3. su formato (JSON o XML)

Entonces puede ver que hay una serie de variables.

¿El servicio web que está utilizando tarda más en reunir los datos en un formato frente a otro?

Hay una cantidad considerable de opciones para analizar JSON y XML, así que no se limite a PHP o Javascript (si tiene una opción). Y, por último, si solicita un servicio web, tendrá los gastos generales de los costos de transporte de la red, la configuración de la conexión, etc. Por lo tanto, cualquier ahorro de tiempo en el rendimiento del análisis puede ser insignificante. Sus esfuerzos pueden gastarse mejor en otro lugar.

¡No creo que haya respondido tu pregunta, aparte de darte más cosas en qué pensar!

1
dbc 9 dic. 2019 a las 04:30

Una cosa que quizás se haya perdido es que un cliente de JavaScript no tiene que analizar JSON, por lo que obtendrá una ganancia de rendimiento allí. El navegador analizará el XML en un DOM y lo entregará a su devolución de llamada, luego deberá extraer de ese DOM la información que necesita. Con JSON recuperas un objeto y la necesidad de extraer del DOM ha desaparecido.

1
Steven Wood 2 feb. 2012 a las 15:14