BT

Nouveau Early adopter ou innovator ? InfoQ a travaillé sur de nouvelles fonctionnalités pour vous. En savoir plus

XML peut offrir les mêmes performances que JSON

| par Jan Stenberg Suivre 6 Abonnés , traduit par Nicolas Frankel Suivre 1 Abonnés le 20 sept. 2013. Durée de lecture estimée: 2 minutes |

Beaucoup de présomptions sur la lenteur et la nécessité en ressources du XML "Lourd" comparé au contenu léger de JSON ne tiennent pas face au test que David Lee, ingénieur principal à Marklogic, présente après avoir lancé une expérience avec 33 différents documents et près de 1200 tests sur un ensemble de navigateurs et de systèmes d'exploitation les plus répandus. David a trouvé que la performance pour l'ensemble de l'expérience utilisateur (le transfert, l'analyse et la requête du document) est à peu près identique quelque soit le format.

Pour son test, David a créé un environnement de test disponible publiquement, en dupliquant un cas d'utilisation avec des documents XML et JSON fournis par un serveur web, et analysés et requêtés par un navigateur web. Le serveur fourni au client des données source et collecte les résultats soumis au client. Le client est une application JavaScript basée sur un navigateur, dont la partie mesure des tests en JavaScript écrit manuellement, mis à part la partie qui mesure la performance jQuery.

En plus d'utiliser sept documents différents, avec des tailles de 100ko à 1 Mo, et chaque document dans deux variantes JSON et trois variantes XML, David a aussi tenté de couvrir une palette d'appareils, de navigateurs, de systèmes d'exploitation et de réseaux dans son test. Il y est parvenu en utilisant le crowdsourcing, c'est-à-dire en rendant l'URL de l'environnement de test publique et en la diffusant à divers listes de distribution et sites de média sociaux. Jusqu'à maintenant, environ 1200 résultats de test distincts et fructueux ont été recueillis, qui couvrent les navigateurs et les systèmes d'exploitation les plus utilisés. Dans son article, David a documenté toutes les données de test ainsi que les résultats des différents tests.

Voici quelques conclusions que David a tirées après son expérience :

  • La vitesse d'analyse varie avec la technique utilisée. L'analyse JavaScript est généralement plus efficace avec XML qu'avec JSON, alors que le requêtage est plus rapide avec JSON. Les deux souffrent des exceptions qui confirment la règle.
  • Utiliser la librairie jQuery impose une pénalité élevée avec JSON, et une pénalité encore pire avec XML.
  • Les documents compressés dans les deux formats, même d'importantes représentations de JSON ou d'XML, sont compressés peu ou prou au même poids, ce qui révèle qu'ils contiennent à peu près la même quantité d'information.
  • Transférer des documents sur une large variété d'appareils prend le même temps par appareil quel que soit le format de balisage.

David a quelques suggestions pour les architectes et les développeurs basé sur son expérience :

  • Utilisez la Compression HTTP, qui est le plus souvent le facteur le plus crucial dans la performance total.
  • Optimisez le balisage pour la transmission et la requête.
  • N'essayez pas d'optimiser sauf si la transmission des données, l'analyse et le requêtage sont des problèmes significatifs par rapport aux autres problématiques.

En dernier lieu, David a un conseil :

Ne Faites Confiance à Personne.

Ne croyez pas aveuglément ce que l'on vous dit. Faites des expériences, testez vos propres données et codez avec vos propres utilisateurs sur vos propres appareils. Ce qui "semble évident" ne reflète pas toujours la vérité.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT