【发布时间】:2010-09-12 17:24:16
【问题描述】:
与已经打开一次(热启动)相比,我们的应用程序在重新启动(冷启动)后启动所需的时间要长得多。
大多数(如果不是全部)差异似乎来自加载 DLL,当 DLL 位于缓存的内存页面中时,它们的加载速度要快得多。我们尝试使用ClearMem 来模拟重新启动(因为它比实际重新启动花费的时间要少得多)并且得到了好坏参半的结果,在某些机器上它似乎非常一致地模拟了重新启动,而在某些机器上却没有。
总结一下我的问题是:
- 您是否经历过冷启动和热启动之间的启动时间差异?
- 您是如何处理这些差异的?
- 您知道可靠模拟重启的方法吗?
编辑:
对 cmets 的说明:
- 应用程序主要是带有一些 .NET 的原生 C++(加载的第一个 .NET 程序集为 CLR 付费)。
- 我们正在寻求缩短加载时间,显然我们已经完成了分析工作并改进了代码中的热点。
我忘了提到的是,我们通过重新构建所有二进制文件得到了一些改进,因此加载器不必在加载时执行此操作。
【问题讨论】:
-
Motti,你对模拟重启有什么新想法吗?我也在为我们非常大的应用程序寻找这种方法,但没有找到可靠的方法
-
@Dbger,对不起,我没有在这方面取得任何额外的进展,我转向了不同的问题。祝你好运。
标签: windows performance reboot