我们有一个在启动时启动.NET代码的VB6应用程序。
冷启动在Windows XP计算机上持续大约22秒。在同一台机器上热启动大约需要4秒。
Windows Vista/7冷启动大约需要5秒,热启动大约需要3秒。
基于以上,我假设延迟是与磁盘访问相关的,Vista/7不会因为SuperFetch而受到影响。
显然,我们需要提高XP的冷启动性能。我正在考虑创建一个在Windows startup...but系统托盘中运行的“预热”应用程序,在我们花费精力之前,我想看看有没有其他的建议。
我已经尝试生成我们的程序集,但似乎没有任何区别。
在添加一些跟踪代码后,我可以看到VB6代码通过.NET boundary...but只需要大约1秒,而.NET中的初始化代码大约需要20秒。它做了一些反射,我猜延迟是从disk...but加载GAC程序集,我不能完全确定。
有什么建议吗?
发布于 2012-02-16 15:22:29
我会尝试以下几点:
我不认为GAC库需要那么长时间才能加载。我猜代码做了比你想象的更多的反射。
https://stackoverflow.com/questions/9287711
复制相似问题