Question

Je suis en train de créer une bibliothèque XMPP (et plus tard un serveur) à partir de zéro dans Go (bien que la la langue elle-même est hors de propos) comme un moyen d'apprendre ce que je peux sur le développement logiciel de protocole XMPP et le serveur en général.

Comme vous le savez, XMPP est un protocole de messagerie basé sur XML qui dépend d'une énorme quantité de flux XML courts mais fréquents. Je pense que pour ces applications un analyseur XML à base d'événement devrait être mieux parce que je ne aurai pas besoin DOM et tout ce qui (me corriger si je me trompe). S'il vous plaît garder à l'esprit que cette bibliothèque est destinée aux serveurs afin qu'il pourrait y avoir de nombreux cas, exécuter à la fois;

Lequel des deux a une meilleure utilisation des performances et de la mémoire pour ce cas d'utilisation, libxml2 ou expat?

Était-ce utile?

La solution

Il y a un projet entier consacré à répondre à la question de la performance XML appelé Benchmark XML .

La réponse, à mon avis, est d'utiliser libxml2, mais j'avoir d'autres considérations au-delà de la performance pure, tels que la disponibilité de la plate-forme. Cela dit, il est généralement plus rapide que expat selon les derniers chiffres, mais il est assez proche dans le grand schéma des choses.

Et oui, vous voulez utiliser l'analyseur SAX, et non l'analyseur DOM.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top