我遇到XDocument.Load("large_file.xml")
的性能问题,加载文件大约需要25秒。
我在this question中读到,使用二进制格式可以提供高达10倍的性能提升。
二进制格式是什么样的?你如何将XML文件转换为它?
答案 0 :(得分:4)
让我们从隐含的问题开始:
问:什么是二进制格式?
答:这是一种以非文本形式表示数据的格式。例如,Java int
可能表示为4个字节,而不是十进制数字序列和符号。
问:它看起来像什么?
答:如果您使用文本编辑器/查看器查看它,它看起来像垃圾。
问:如何将XML文件转换为二进制形式?
答:手工。由于二进制格式本质上是一种非文本格式(任何格式),因此没有神奇的转换方法。
问:二进制格式如何以及为何更快?
答:二进制格式的加载速度不会比XML(或JSON)快。我们的想法是,您(程序员)设计应用程序的特定二进制格式,将加载更快。您通常通过以下方式执行此操作:
答案 1 :(得分:3)
XML格式有很多信息。所以这很大而且很慢。您可以创建自己的格式。
例如:
<Data>Value</Data>
可以在二进制文件中的具体地址处更改为value
。