Domanda

Sto cercando di creare una libreria XMPP (e in seguito un server) da zero in Go (anche se il il linguaggio stesso è irrilevante) come mezzo per imparare quello che posso sul protocollo e il software server di sviluppo XMPP in generale.

Come molti di voi sanno, XMPP è di messaggistica protocollo basato su XML che dipende da una quantità enorme di flussi XML brevi ma frequenti. Sto pensando che per tali applicazioni un parser XML basato su eventi dovrebbe essere migliore, perché non avrò bisogno DOM e tutto quello che (correggetemi se sbaglio). Si prega di tenere presente che questa libreria è destinato per i server quindi ci potrebbero essere molte istanze eseguite in una sola volta;

Quale dei due ha un migliore utilizzo delle prestazioni e della memoria per tale uso caso, libxml2 o expat?

È stato utile?

Soluzione

C'è un intero progetto dedicato a rispondere alla domanda di prestazioni XML chiamato Benchmark XML .

La risposta breve, a mio parere, è quello di utilizzare libxml2, ma ho altre considerazioni al di là di prestazioni pure, come ad esempio la disponibilità della piattaforma. Detto questo, è generalmente più veloce di expat secondo gli ultimi numeri, anche se è abbastanza vicino nel grande schema delle cose.

E sì, si desidera utilizzare il parser SAX, non il parser DOM.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top