【发布时间】:2009-08-20 17:44:09
【问题描述】:
我正在升级一个 RESTful 服务,现在正在使用 DataContractSerializer 来输出响应。以前的版本只是使用带有 XmlSerializer 的自定义序列化。因为那个版本使用了很多属性,而 DCS 从来没有,所以我看到新的响应大小是使用 gzip 压缩时的先前版本大小的 1.5 倍。 (或未压缩时大小的近 3 倍)。
然后我的问题是,DCS 是否真的会成为比 XmlSerializer 更快、更具可扩展性的解决方案。
【问题讨论】:
-
DCS 通常更快——它被优化为更快——但它也有一些限制(不支持属性,例如)。您需要权衡什么对您来说更重要 - 序列化/反序列化的速度或小负载 - 您通常不能两者兼得.....选择一个。
-
所以我想你必须自己做一些测量——在你给定的场景中更重要的是:(反)序列化的速度,或 XML 有效负载的大小——只有你才能真正决定最后
-
感谢马克的输入。鉴于这是为了快速而设计的(公共 api、移动用户、响应时间要求),这是一个非常简单的调用。我有点失望,所有的指导在速度方面都显得如此误导。希望这个非常有用的信息能传出去。
标签: wcf xml-serialization datacontractserializer