[英]Why does my .NET start-up time increase with pre-generated serialization assemblies?
我有一个非常大而复杂的winforms应用程序。 为了减少启动时间,我使用以下批处理文件预生成了序列化程序集。
; delete any existing serialization assemblies
del *XmlSerializers.dll
; gen new serialization assemblies
for %%a in (*.dll) do sgen /assembly:%%a
; delete .deleted files (generated for assemblies which do not allow serialization)
del *.dll.deleted*
然而,令我惊讶的是,启动时间实际上从4.6秒上升到6.1秒 - 跳跃1.5秒。 这无论是冷启动还是温暖都是如此。
所以,问题:
您应该分析您的应用程序,以了解启动时间增加的原因。 Perfview将是一个很好的工具。
如果JITtting花费了太多时间,请考虑NGEN您的应用。 如果加载了太多页面,如果您在.Net 4.5下运行,请考虑使用mpgo优化
因为.NET必须检查签名是否有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.