首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >托管调试助手(MDA) jitCompilationStart使用率

托管调试助手(MDA) jitCompilationStart使用率
EN

Stack Overflow用户
提问于 2013-05-15 19:38:19
回答 1查看 817关注 0票数 1

我正在尝试优化一些WinForms应用程序的冷启动时间。我已经生成了所有的程序集,但仍然看到调用了JIT。我已经启用了MDA的jitCompilationStart,并且看到MDA的运行时异常表明有什么东西导致了JIT的调用。

我的问题是-现在怎么办?我看到的是建议的调试器列表。如果我从列表中选择sthm -我在VS中看不到任何东西。应用程序会继续执行,仅此而已。如何获取应用程序的哪个部分调用JIT的信息?

我已经在调试->异常->托管调试助手中启用了JitCompilationStart:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-16 18:16:38

该MDA的目的是在抖动开始时附加一个调试器。要求注册的非托管调试器能够调试C++代码以及抖动的源代码。您已经满足了第一个要求,VS20120和VS2012拥有优秀的非托管调试器。后者对于像你我这样的凡人来说是相当困难的。整个场景只对Microsoft SDET感兴趣。

显然,您在诊断冷启动延迟方面走错了路。在多个方面,抖动是一个温暖的开始细节。冷启动主要取决于磁盘查找部件文件所需的时间。使用Ngen实际上正是您不想做的事情,它会使需要查找的文件数量加倍。它只对改善热启动时间有好处。

对于冷启动延迟,只有三种好的解决方案。使用更少的程序集,ILMerge可以提供帮助。使用速度更快的磁盘,SSD会有很大帮助。欺骗,在登录时启动一个不做任何事情的小.NET程序,将程序集加载到文件系统缓存中。在用户启动.NET应用程序一段时间后,Windows prefetcher会学习并预加载DLL,这实际上是自动的。很难注意到,除了客户在一段时间后停下来抱怨。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16564032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档