我们有一个VB6应用程序,可以在启动时启动我们的.NET代码。
在Windows XP计算机上冷启动大约需要22秒。在同一台机器上热启动约4秒钟。
冷启动时Windows Vista / 7大约需要5秒钟,热启动大约需要3秒钟。
基于以上所述,我假设延迟与磁盘访问有关,而且Vista / 7不受SuperFetch影响。
显然,我们需要提高XP的冷启动性能。我正在考虑创建一个在Windows启动时在系统托盘中运行的“热身”应用程序......但在我们付出努力之前,我想看看是否还有其他建议。
我已经尝试过我们的装配,这似乎没有任何区别。
添加一些跟踪代码后,我发现VB6代码跨越.NET边界只需要大约1秒......但.NET中的初始化代码大约需要20秒。它做了一些反思,我猜测延迟是从磁盘加载GAC组件......但我不能完全确定。
建议?
答案 0 :(得分:2)
我会尝试以下方法:
我不认为GAC库需要很长时间才能加载。我猜这段代码比你想象的要多一些。