使用 groovy,您是否期望在读取和查询 JSON 与 XML 的速度和内存开销方面有更好的性能?
5 回答
JSON 比 XML 更小更简单。我敢打赌 JSON 解析速度更快。
YAML 会更快。
如果速度真的是个问题,我宁愿使用 java 库来解析我想要的任何东西,而不是依赖 Groovy 的实现。
如果它是相同的模式和相同的信息,那么内存使用将几乎相同。两者之间的性能应该可以忽略不计。
我相信如果架构和数据相同,那么除了分析器之外的任何东西都无法检测到性能差异。也就是说,如果您使用了错误的 XML 解析器,您可能会看到很大的不同。换句话说,SAX 实现可以轻松匹配或可能优于 JSON 解析。有很多外部因素需要考虑。如果您想要真实的故事,请在相同的数据/模式中同时使用 JSON 和 SAX 解析器,而无需额外的逻辑。巨大的节省来自用于解释解析的逻辑。根据您的需求,使用 DOM 或拉解析器可能更简单,而 SAx 会导致过于复杂的非性能解决方案。解析器之间也存在显着差异。添加文件大小的变量,你很快就会失去你实际测量的范围。另一个例子,如果您的 XML 包含必须通过网络解析的 DTD 描述和实体引用,并且您的网络连接具有高延迟,那么您可以看到 JSON 的改进。这一切都归结为你真正想做的事情。
由于尖括号和额外的信息等等,XML 比 JSON 有更多的开销。由于这个原因,任何好的解析器都应该能够比 XML 更快地解析 JSON。