BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités XML peut offrir les mêmes performances que JSON

XML peut offrir les mêmes performances que JSON

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

Contenu Éducatif

BT