A program that compares files. There allready exist some programs like checker,
but I wanted to see if I could do a bit faster, since using the other
programs took allways a lot of time.
Naturally the procedure to compare all files to all others takes some time and
time which at some stage cannot be reduced any further without losing accuracy.
I mainly use programs like checker to see if I have any double ROM images for
the emulators I use. There is at least one utility somewhere over the net
(CARTLIST) which states it compares ROMs using information about the ROM
structures. Sadly that program does not work correctly at my place.
I tried looking for doubles in my *.NES file collection and it couldn't
even identify them as such. After some other trouble I had with it I
decided finally to have a go at it myself.
Two other programs I know of offhand are COMPROM.EXE and COMPARE.EXE.
One I got from Marat's page, the other from some CHIP guy and his AROM page
(sorry, while writing this I'm to lazy to look your addresses up :-)).
All tests run under Win95.
My computer: AMD K6 233 Mhz, 64MB SDRAM, Adaptec 2940 SCSI II (IBM DCAS HD).
Tested on:
1017 files which are 176 MB, 1012 of these files were *.NES files.
CHECKER.EXE
needs 00:36 min:sec to find 145 doublets (or triplets...), and creates a batch
file to delete them, so that only one of a kind remains.
COMPARE.EXE
needs 11:20 min:sec to 169 files equal to each other, and creates log file
with information.
COMPROM.EXE
needs 43:40 min:sec to create a batch which deletes 10 doublets (used a length of 10000)
(did I do something wrong? didn't try a second time, since it took so long
the first time).
Tested on:
513 files which are 3 MB, 513 of these files were *.bin files (Atari VCS2600).
CHECKER.EXE
needs 00:08 min:sec to find 8 doublets (or triplets...), and creates a batch
file to delete them, so that only one of a kind remains.
COMPARE.EXE
needs 01:50 min:sec to find 8 files equal to each other, and creates log file
with information.
COMPROM.EXE
needs 05:20 min:sec to create a batch which deletes 0 doublets (used a length of 10000)
(did I do something wrong?).
CHECKER.EXE IBM executable, and Watcom C Source.
BTW.:
All output is done to standard output. If you want to use the output as a batch file
to delete the doublets... you better redirect it (some progress information goes to
stderr :-)).
Most recent revision saturday, 25. october 1997