出于性能原因,我应该将XML转换为JSON吗?

问题描述:

我目前使用Visual Studio集成设置管理系统存储我的设置,该设置使用XML。但在本文[http://www.codeproject.com/Articles/159450/fastJSON]中,我读到“最快的XML比最慢的JSON慢50倍”。因此,当您将给定的XML数据转换为JSON并将其反序列化时,它可能会更具性能。我没有找到任何测试,也不知道如何测试它。那么这种方式会更具表现力,从哪个数据量(多少)获利? 我的意思是JSON框架是fastJSON,它可能是C#中最快的JSON框架。出于性能原因,我应该将XML转换为JSON吗?

+6

我会非常警惕任何声称“X比Y慢”,除非提出声明的人可以证实它。 – Tim 2014-11-21 21:23:51

+3

您的应用程序花费多少时间来加载设置?通常这是在启动时完成的,除非设置很大,否则只是启动成本的一小部分。 – 2014-11-21 21:25:12

+4

“*最快的XML比最慢的JSON *慢50倍”,即使这是真的,这听起来像是不成熟的优化。您确定XML序列化是一个足够重要的性能问题,需要重写您的设置API吗?即使这是一个问题,您是否尝试过改进对现有API的处理(例如,您可能正在进行大量不必要的调用)? – 2014-11-21 21:26:07

如果您使用的是Visual Studio设置,您可能不会注意到使用JSON会带来任何性能差异,并且会丢失良好的GUI,并且已经为设置系统提供了支持。不要这样做!

要验证您是否有任何速度改进,您需要获取一个分析器和度量。过早优化是邪恶的!

优化您的设置加载速度似乎有点矫枉过正。

如果你不断地加载它们(从XML到JSON的转换创造了实质性的改进),你应该花一些时间来优化你如何处理你的设置。