Groovy を使用すると、JSON と XML の読み取りとクエリの速度とメモリ オーバーヘッドの点でパフォーマンスが向上すると思いますか?
5 に答える
JSON は XML より小さく、単純です。JSON の方が解析が速いと思います。
YAML はさらに高速です。
速度が本当に問題である場合は、Groovyの実装に依存するよりも、Javaライブラリを使用して必要なものを解析したいと思います。
同じスキーマと同じ情報であれば、メモリ使用量はほぼ同じになります。両者のパフォーマンスは無視できるはずです。
スキーマとデータが同じであれば、パフォーマンスの違いはプロファイラー以外には検出できないと思います。つまり、間違った XML パーサーを使用すると、大きな違いが見られる可能性があります。言い換えれば、SAX 実装は、JSON 解析に容易に匹敵するか、場合によってはそれを上回る可能性があります。シンサイダーには多くの外的要因があります。実話が必要な場合は、JSON と SAX パーサーの両方を同じデータ/スキーマで追加のロジックなしでスローします。大きな節約は、解析を解釈するために使用されるロジックから得られます。要件によっては、DOM またはプル パーサーを使用する方が簡単な場合がありますが、SAx は非常に複雑でパフォーマンスの低いソリューションになります。また、パーサー間にも顕著な違いがあります。ファイルサイズの変数を追加すると、実際に測定しているものの範囲がすぐに失われます. もう一つの例、XML に DTD 記述とエンティティ参照が含まれており、ネットワーク経由で解決する必要があり、ネットワーク接続の待ち時間が長い場合は、JSON を使用すると改善が見られる可能性があります。それはすべて、あなたが本当にやろうとしていることです。
XML は、山かっこや追加情報などにより、JSON よりもオーバーヘッドが少し大きくなります。このため、優れたパーサーは XML よりも高速に JSON を解析できるはずです。