需要使用非缓存的比较方式)
不依赖第三方库
越快越好
为了选出最优的解决方案,我搭建了一个简单的命令行工程,准备了两个大小为912MB的文件,并且这两个文件内容完全相同.在本文的最后,你可以看到该工程的...下面我们开始尝试各个比较方法,选出最优的解决方案:
比较两个文件是否完全相同,首先想到的是用哈希算法(如MD5,SHA)算出两个文件的哈希值,然后进行比较....而我们的需求中,两个文件都是不固定的,那么每次都要计算两个文件的哈希值,就不太合适了.
所以,哈希比较这个方案被PASS....对于我们的需求,因为我们不会更改数组的值,所以可以使用另外一个只读的类型ReadOnlySpan追求更高的效率....后记
文中的代码只是出于实验性质,实际应用中仍可以继续细节上的优化, 如:
如两个文件大小不同,直接返回false
如果两个文件路径相同,直接返回true
...