Updated readme.
[md5sumpare.git] / README
1 Scan quickly through a file of checksums (32 bytes) and identify identical checksums.
2 This program will allocate memory for the entire file, so it will fail or perform poorly on files larger than available memory.
3
4 A list of checksums can be generated with: find -type f -exec md5sum {} \; > data.txt
5
6 Program can be built with:
7   gcc main.c -o comparesums
8
9 Program can be run with:
10   ./comparesums data.txt
11
12 Example input:
13  7ca6adad45f5fc6a668be5c0e8c6c576  main.c
14  d5ca4c947a77efaa6206e81b1f774cbc  a.out
15  bf247132afd50625c7eaa7c132ec91b8  README
16  7ca6adad45f5fc6a668be5c0e8c6c576  test.c
17
18 Example output:
19  Attempting to open fil.txt...
20  File is 163 bytes...
21  Read 163 bytes.
22  There are 4 linebreaks.
23  Allocated 4 places in 3 buckets..
24  Comparing...
25  -------------- Identical Files Found ----------------
26  7ca6adad45f5fc6a668be5c0e8c6c576  main.c
27  7ca6adad45f5fc6a668be5c0e8c6c576  test.c
28  ------------------- Comparison Done  ----------------
29  Did 1 comparisons.
30  Found 2 identical.
31
32 Copyleft: WTFPL
33
34 For a more serious tool, check "beyondcompare" or something else, this just fit what I wanted to do and was a fun way to spend a holday evening hour.
35
36 Performance is reasonable (1.5 ghz machine):
37  Attempting to open ./data_checksums.txt...
38  File is 233276063 bytes...
39  Read 233276063 bytes.
40  There are 1550650 linebreaks.
41  Allocated 1550650 places in 65536 buckets..
42  Comparing...
43  [SNIPPED]
44  Did 13410818 comparisons.
45  Found 859017 identical.
46
47  real    0m2.805s
48  user    0m2.560s
49  sys     0m0.244s