在您感兴趣的情况下,也向here on SO提出了一个非常类似的问题,但正如我们将要看到的,这个问题的公认答案并不总是这样(我的应用程序使用模式从来没有这样的情况)。
性能决定代码由FileStream构造函数(打开文件)和SHA1哈希( .Net框架实现)组成。该代码基本上是我在上面链接到的问题中所问到的问题的C#版本。
案例1:应用程序第一次或第九次启动,但目标文件设置不同。现在通知应用程序计算以前从未访问过的文件上的散列值。
案例2:应用程序现在完全终止,并再次启动,要求计算相同文件上的哈希:
问题
我的应用程序总是在使用用例1。它永远不会被要求重新计算一个已经访问过一次的文件的散列。
所以我的速率决定步骤是FileStream构造器!我能做些什么来加速这个用例吗?
谢谢。
使用JetBrains剖面仪收集统计数据。
发布于 2009-11-02 20:40:33
文件系统和或磁盘控制器将缓存最近访问的文件/扇区。
速率决定步骤是读取文件,而不是构造FileStream对象,当数据在缓存中时,在第二次运行时它将显着地更快是完全正常的。
https://stackoverflow.com/questions/1663525
复制相似问题