在第一次运行时,是否有方法改进json反序列化



我有一个使用JSON序列化的对象树。

当第一次运行反序列化(使用Newtonsoft JSON.net)时,它比第二次运行要长得多。

我想这是因为反序列化程序类是由我正在使用的json框架进行jit的。我没有证据支持这种猜测。

有没有办法以某种方式改进第一次反序列化运行?

许多框架,尤其是那些进行序列化和反序列化的框架,需要额外的时间来初始化,而您无法更改这一点。我认为您所观察到的不是JIT,序列化程序通常动态编译类,这比JIT处理需要更多的时间。您可以做的是尽早初始化它们。例如,在应用程序启动后立即序列化一些示例对象。

在ASP.NET的情况下,这一点可能不是Application_Start事件,因为它在第一个请求到来时运行。如果你有很多请求,实际上是很多,这可能为时已晚。不过,支持缓存预热:http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx。如果你需要快速的话,缓存预热是完全合理的。

相关内容

  • 没有找到相关文章

最新更新