猿问

Json.NET缓存类型的序列化信息吗?

Json.NET缓存类型的序列化信息吗?

在.NET世界中,当涉及对象序列化时,它通常会在运行时检查对象的字段和属性。对此作业使用反射通常很慢,在处理大量对象时也是不可取的。另一种方法是使用IL发射或构建表达式树,这些树提供了超过反射的显着性能增益。后者是大多数现代图书馆在处理序列化时所选择的。但是,在运行时构建和释放IL需要时间,而且只有当这些信息被缓存并用于相同类型的对象时,投资才会得到回报。

在使用Json.NET时,我不清楚使用了上述哪种方法,如果确实使用了后者,是否使用缓存。

例如,当我这样做时:

JsonConvert.SerializeObject(new Foo { value = 1 });

Json.NET是否构建Foo的成员访问信息和缓存以便稍后重用它?


慕少森
浏览 271回答 1
1回答
随时随地看视频慕课网APP
我要回答