![]() |
1
2
文件流只是在文件对象周围公开一个IO.stream,并使用缓冲区。它不会读取构造函数中的整个文件(该文件可能大于RAM)。 性能问题最有可能出现在散列中,您可以执行一些简单的基准测试来证明它是由于文件IO还是算法本身。 但你可能会尝试的第一件事是:
这将使文件流读取整个文件并返回一个字节数组。.ToArray()调用的方法可能比ComputeHash将调用的.read()方法更快。 |
![]() |
2
0
是的,将读取该文件的内容,然后运行computehash方法,而不是在刚打开文件流时。 测试性能问题所在的最佳方法是将数据从文件读取到内存流散列并测量每个步骤的性能。您可以为此使用System.Diagnostics.StopWatch类。 |
![]() |
3
0
当调用者通过调用read或类似方法请求从磁盘读取字节时,应该读取这些字节。无论如何,硬盘和操作系统都会执行一些预读操作来改进顺序读取操作,但这肯定很难预测。 您还可以尝试使用一些构造函数重载为filestream提供的缓冲区大小参数。 |
![]() |
Sweepy Dodo · JSON lite的格式化 8 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 9 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 9 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |