「解析速度」の観点から、属性の数と XML ドキュメントの深さは解析速度にどの程度影響しますか? より多くの要素またはできるだけ多くの属性を使用する方が良いですか? 「深い」XML 構造は読みにくいですか?
より多くの属性を使用する場合、XML はそれほど重くなく、XML をパーサーに適合させることは XML ファイルを作成する正しい方法ではないことを認識しています。
ありがとう
パフォーマンスは実装のプロパティです。異なるパーサーは異なります。パフォーマンスについて理論的な答えを得ようとするのではなく、単に測定してください。
より多くの要素またはできるだけ多くの属性を使用する方が良いですか?
それは解析のパフォーマンスと何の関係がありますか? パフォーマンスの違いが XML 設計のゆがみを正当化するとは信じがたいです。それどころか、解析速度が向上すると信じて歪んだ XML 設計を使用すると、XML を生成および使用するアプリケーションで大きな追加コストが発生することはほぼ確実です。
検証を行っているかどうかにかかっていると思います。大規模で複雑なスキーマに対して検証を行っている場合、単純なスキーマの場合よりも、それに比例してより多くの時間が検証に費やされる可能性があります。
検証を行わないパーサーの場合、スキーマの複雑さはおそらくそれほど重要ではありません。パフォーマンスは、XML のサイズによって支配されます。
もちろん、パフォーマンスは使用しているパーサーの種類にも依存します。開始する前に完全なメモリ内表現を構築する必要があるため、DOM パーサーは一般的に遅くなります。SAX パーサーを使用すると、必要な部分だけを厳選することができます。
ただし、私の答えは直感に基づいていることに注意してください。XML の複雑さがパフォーマンスに与える影響を科学的な方法で測定しようとした人を私は知りません。まず、XML の複雑さを実際に特徴付けるのは困難です。また、人々は通常、入力の複雑さが要因であるかどうかを判断することよりも、特定のサンプル XML のパーサーを比較することに関心があります。
Sax パーサーを使用している場合、XML が大きいかどうかは問題ではありません。これはトップダウン パーサーであり、完全な XML をメモリに保持しないためですが、DOM の場合は完全な XML をメモリに保持するため重要です。ここの私のブログ投稿で、XML パーサーの比較についてのアイデアを得ることができます。