窗口 – 比较冷启动到暖启动

我们的应用程序在重新启动(冷启动)之后要花费更多的时间来比已经打开一次(热启动).

大多数(如果不是全部)差异似乎来自加载DLL,当DLL处于高速缓存的内存页面中时,它们加载速度更快.我们尝试使用ClearMem来模拟重新启动(因为它比实际重新启动的时间要少得多),并且得到了混合的结果,在一些机器上似乎模拟了非常一致的重新引导,有些不是.

总结我的问题是:

>您是否在寒冷和暖暖的开始之间遇到了发射时间的差异?
>你有什么差别吗?
>你知道一种可靠地模拟重启的方法吗?

编辑:

澄清意见:

>应用程序主要是native C和一些.NET(第一个加载为CLR的.NET程序集).
>我们正在寻求改善加载时间,显然我们在我们的代码中做了我们的分析和改进热点.

我忘记提到的是,通过重新建立所有二进制文件,我们得到了一些改进,因此加载程序不必在加载时执行此操作.

你是如何配置你的代码的?并不是所有的分析方法都是平等的,有些则比其他方法更好.你在加载大量文件吗?如果是这样,磁盘碎片和寻找时间可能会发挥作用.

甚至可以将基本的定时信息粘贴到代码中,并写入日志文件,并在冷/热启动时检查文件将有助于确定应用程序在哪里花费时间.

没有更多的信息,我会倾向于文件系统/磁盘缓存,因为两个环境之间的差异.如果是这样,那么您需要花更少的时间加载文件,或者找到更快的方式加载文件.一个例子(可能不适用)是,如果要加载二进制数据文件的加载是将它们全部组合成单个文件,请在一次读取中将整个文件的一个文件拖放到内存中,然后解析出其内容.较少的磁盘和时间花费阅读磁盘.再一次,也许这不适用.我不知道任何清除磁盘/文件系统缓存的工具,但是您可以编写一个快速应用程序来读取一堆与磁盘不相关的文件,从而使文件系统/磁盘缓存加载不同的信息.

相关文章

(1)when you ping a computer from itsafe,the ping command should return the local IP address. (...
1、点击win菜单,点击设置图标 2、选择系统选项 3、选择应用与程序选项 4、拉到最下方,选择程序与功能...
目前一直直接往Windows 2008 R2 Server中复制文件(暂时还没有搭建ftp服务),突然不能复制了,于是百度...
windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,p...
在控制面板的程序与功能里启用和关闭windows功能打开,适用于linux的windows子系统
效果演示 推荐一个非常牛的文档网站生成器:docsify 我通过这个工具,成功将码云上的个人学习笔记发布到...