Performance 由于JsonConvert.DefaultSetting,Json转换缓慢
我们最近遇到了一个相当严重的问题,我们有幸能够解决,我想分享解决方案 我们发现,解析和重新打包结果的轻量级库在两个内核上消耗了100%的处理器。我们的JSON文档由数百个元素组成。结果显示,Performance 由于JsonConvert.DefaultSetting,Json转换缓慢,performance,json.net,deserialization,Performance,Json.net,Deserialization,我们最近遇到了一个相当严重的问题,我们有幸能够解决,我想分享解决方案 我们发现,解析和重新打包结果的轻量级库在两个内核上消耗了100%的处理器。我们的JSON文档由数百个元素组成。结果显示,JsonConvert.DefaultSetting对每个元素进行了六次初始化,其中一个元素非常简单: [ "revo-CH0012221716", 20.29, 8774.0, 1.5372955117461105, [ "#270028_1" ], "CHF", 1.0 ] 通过为JsonConvert
JsonConvert.DefaultSetting
对每个元素进行了六次初始化,其中一个元素非常简单:
[
"revo-CH0012221716",
20.29,
8774.0,
1.5372955117461105,
[
"#270028_1"
],
"CHF",
1.0
]
通过为
JsonConvert.DefaultSetting
重用相同的对象实例,而不是按照官方代码示例中的建议,每次(通过委托)重新创建对象实例,解决了该问题
修复的结果是投资组合计算时间从3秒减少到不到1秒,处理器消耗从100%减少到15%(更健康)
对于像我这样的“普通Joe”开发人员,我希望这个“gotcha”至少可以在官方示例代码中得到注释/记录。我们的代码所基于的文档如下:
.同意。我们遇到了同样的问题,并按照您解释的方式解决了它。谢谢