X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=finddup.1;h=c86df1ea89daff89f228e2a87944407689e4ebb1;hb=2e218d38854bc5934f3935bc7aa6eab598770bdb;hp=9cc21b4f13e9f2c5536f0a89423ab9c37bc0a240;hpb=a61c9478f31b957e0d4007df9feddd6f0139ccf8;p=finddup.git diff --git a/finddup.1 b/finddup.1 index 9cc21b4..c86df1e 100644 --- a/finddup.1 +++ b/finddup.1 @@ -61,26 +61,29 @@ show the real path of the files .TP \fB-i\fR, \fB--same-inodes-are-different\fR files with same inode are considered as different -.TP -\fB-m\fR, \fB--md5\fR -use MD5 hashing .SH "BUGS" None known, probably many. Valgrind does not complain though. -The MD5 hashing often hurts more than it helps, hence it is off by -default. The only case when it should really be useful is when you -have plenty of different files of same size, which does not happen -often. +The current algorithm is dumb, as it does not use any hashing of the +file content. + +Here are the things I tried, which did not help at all: (1) Computing +md5s on the whole files, which is not satisfactory because files are +often never read entirely hence the md5s can not be properly computed, +(2) computing XOR of the first 4, 16 and 256 bytes with rejection as +soon as one does not match, (3) reading parts of the files of +increasing sizes so that rejection could be done with a small fraction +when possible, (4) using mmap instead of open/read. .SH "WISH LIST" The format of the output should definitely be improved. Not clear how. Their could be some fancy option to link two instances of the command -running on different machines to reduce network disk accesses. Again, -this may not help much, for the reason given above. +running on different machines to reduce network disk accesses. This +may not help much though. .SH "EXAMPLES"