Json.NET 8 引入 ArrayPools 提升性能

  • Jeff Martin
  • 谢丽

2016 年 1 月 20 日

话题:.NET语言 & 开发

Json.NET 创建者 James Newton-King 推出了该框架的第 8 个版本。该版本的重点是提升性能,他认为这是与.NET 生态系统整体上更广泛的性能改进规划相匹配的。在这个版本中(其第一个版本发布于 2015 年 6 月),为了提升性能,Json.NET 新增了一个接口,旨在“减少序列化过程中的内存分配和使用”。

这个名为IArrayPool的接口使 Json.NET 可以重用数组缓冲区,这是性能提升的基础。Newton-King 将此称为“一个有点试验意味的特性”,因此,只有那些现在有这种需要的用户才应该启用它。

版本 8 的另外一项变化是,JSON 中读入 JArrays 的注释现在会被忽略。作出这种改变的目的是减少一种常见的错误源,但是先前的行为可以通过JsonLoadSettings上的CommentHandling.Load启用。

除了这些变化外,版本 8 还包含 20 多处小问题修正,除非有版本相关的原因阻碍你,否则应该考虑升级到最新的版本。GitHub上提供了源代码的链接和项目文件。

查看英文原文Json.NET 8 Introduces ArrayPools for Performance Gains


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

.NET语言 & 开发