2

でパフォーマンスの問題がXDocument.Load("large_file.xml")発生しています。ファイルのロードに約 25 秒かかります。

この質問で、バイナリ形式を使用すると最大 10 倍のパフォーマンスが向上する可能性があると読みました。

バイナリ形式はどのように見えますか? XML ファイルを XML ファイルに変換するにはどうすればよいでしょうか。

4

2 に答える 2

4

暗黙の質問から始めましょう。

Q: バイナリ形式とは何ですか?

A: データを非テキスト形式で表現する形式です。たとえば、Javaintは、一連の 10 進数と記号ではなく、4 バイトとして表される場合があります。

Q: どのように見えますか?

A:テキストエディタ/ビューアで見るとゴミのように見えます。

Q: XML ファイルをバイナリ形式に変換するにはどうすればよいですか?

A:手で。バイナリ形式は本質的にテキストではない形式 (任意の形式) であるため、それを変換する魔法の方法はありません。

Q: バイナリ形式のほうが速いのはなぜですか?

A: バイナリ形式は、自動的に XML (または JSON) よりも速く読み込まれるわけではありません。アイデアは、あなた (プログラマー)が、より高速にロードできるアプリケーション用の特定のバイナリ形式を設計することです。これは通常、次のような方法で行います。

  • 冗長/反復的な構造化情報 (XML タグや属性名など) を含めることを避ける
  • メモリ内表現に変換するための CPU 負荷が少ないデータ エンコーディングを使用する。
  • 不必要なメタデータを含めないようにする
  • 余分なメモリ内データのコピーを必要とすることを回避し、
  • 等々。
于 2012-04-26T08:23:23.763 に答える
3

XML 形式には多くの情報があります。だから大きくて遅い。独自のフォーマットを作成できます。

例えば:

<Data>Value</Data>valueバイナリファイルの具体的なアドレスだけに変更できます。

于 2012-04-26T08:05:00.753 に答える