2010-09-15 68 views
6

我試圖從Go(雖然語言本身是無關緊要的)從頭開始創建一個XMPP庫(以及後來的服務器),作爲了解我能夠了解XMPP協議的一種手段,以及一般的服務器軟件開發。libxml2 vs XMPP服務器的expat

許多人都知道,XMPP是基於XML的消息傳遞協議,依賴於大量短而頻繁的XML流。我認爲對於這樣的應用程序,基於事件的XML解析器應該更好,因爲我不需要DOM和所有這些(如果我錯了,就糾正我)。請記住,該庫專用於服務器,因此可能會同時運行多個實例;

哪一個在這個用例中有更好的性能和內存使用情況,libxml2或expat?

回答

9

有一個完整的項目專門用於回答稱爲XML Benchmark的XML性能問題。

在我看來,簡短的回答是使用libxml2,但除了純粹的性能之外,我還有其他一些考慮因素,例如平臺可用性。也就是說,根據最新的數據,它通常比外籍人士更快,儘管它在這個偉大的計劃中相當接近。

是的,你想使用SAX解析器,而不是DOM解析器。

+0

該基準測試解析器*和* DOM。 – 2010-09-15 14:57:49