Windows VB.net应用程序第一次执行与下一次执行相比太慢
我正在处理一个vb.net应用程序,该应用程序有大量的计算和I/O任务,与下一次执行时间相比,重新启动后的第一次执行速度太慢(需要多10秒才能完成)。我意识到,在第一次执行时,CPU的使用率达到了60%左右,在以后的执行中,CPU的使用率从90%到100%。有人知道为什么会这样吗?重新启动计算机时,它会转储存储在内存中的所有内容以及缓存。第一次运行程序时,VS必须在第一次执行后从硬盘中取出程序以及所有必需的程序集和库进行编译等(您的问题非常模糊,因此我很难了解您的当前情况)VS将所有这些内容保留在主内存中,直到其他进程需要它或您关闭VS 由于主存比主存快得多,而且大多数外部程序集都已编译到程序的内部版本中,因此后续执行速度会更快Windows VB.net应用程序第一次执行与下一次执行相比太慢,windows,vb.net,Windows,Vb.net,我正在处理一个vb.net应用程序,该应用程序有大量的计算和I/O任务,与下一次执行时间相比,重新启动后的第一次执行速度太慢(需要多10秒才能完成)。我意识到,在第一次执行时,CPU的使用率达到了60%左右,在以后的执行中,CPU的使用率从90%到100%。有人知道为什么会这样吗?重新启动计算机时,它会转储存储在内存中的所有内容以及缓存。第一次运行程序时,VS必须在第一次执行后从硬盘中取出程序以及所有必需的程序集和库进行编译等(您的问题非常模糊,因此我很难了解您的当前情况)VS将所有这些内容保留
第一次运行时CPU使用率要低得多的原因是无法以足够快的速度从硬盘读取数据,从而使CPU处于繁忙状态 需要更多关于它的功能的信息,代码示例,等。能够帮助这一点。谢谢你克里斯的回答,但让我向你解释一切是如何工作的,以便我们可以找到一个解决方案的缓存问题。我正在处理一个大约2 GB的大文件,所以我使用memorymappedfiles读取它两次,因为我无法将整个文件提取到内存中。那么,您认为有什么方法可以在第二次读取时增强读取操作吗?