質問

ファイル、Webサーバー、その他のサーバーなど、XMLソースから要素名の値(時系列データ)のペアを取得するアプリケーションを作成する必要があります。アプリケーションはXMLを消費し、関心のある値を取り出します。非常に高速でなければなりません(たとえば、50000イベント/秒以上)。また、XMLドキュメントのサイズは巨大であり、これらのドキュメントの頻度も高くなります(例:2500ファイル/分-500MBを超えるXMLデータ/ファイル)。

私は、あなたが経験した人々が私がこれにアプローチするべきだと思う方法を見たいだけです。私はあなたが提案した解決策をどれだけ行うことができますが、どんなに困難/簡単であっても、始めたばかりの初心者です。

ありがとうございます。

役に立ちましたか?

解決

SAX解析を使用する場合、ボトルネックはXML文字列処理ではなく、関連するI / Oです。そして、500 MBの数値を考えると、DOM解析の代わりにSAX解析を しなければならないと思います。したがって、SAXタイプのインターフェースを備えたものなら何でも構いません。

他のヒント

私は Xerces のファンです。それらを試して、アプリケーションにとって最高のパフォーマンスを発揮するものを確認してください。 Warrenが言ったように、SAX処理を使用したいと思うでしょう。本当にパフォーマンスが本当に必要な場合は、専用のXMLアプライアンスを使用して処理を行う必要があります。

プロジェクトでは libxml2 を使用しています。 SAXとDOMの両方をサポートしています。 ウォーレンヤングが言ったように、SAXを使用する必要があります。 Expatを試してみることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top