At least it works pretty quickly to give a list of duplicate files sorted by file size. It's written in [link|http://www.erlang.org/|Erlang].
[link|http://blog.diginux.net/2007/04/03/writing-a-duplicate-file-finder-in-erlang/|Writing a Duplicate File Finder in Erlang].
Instructions on compiling and using it are [link|https://bohr.diginux.net/wiki/index.php/EDupe|here]. Remember to pipe the output to a file (e.g. C:\\Program Files\\erl5.5.4\\bin>erl -noshell -run edupe start c:/ -s erlang halt > 070526-DriveC.txt).
[edit:] Note that (on Windows) you'll need the DLL - libeay32.dll. It's easily found. You can get a copy of it in the WGet package - [link|http://www.christopherlewis.com/WGet/WGetFiles.htm|here]. Simply copy the DLL to the c:\\Program Files\\erl5.5.4\\bin\\ directory. Also, don't forget to compile the edupe package by running "erlc edupe.erl" before running the erl - noshell ... script.
HTH.
Cheers,
Scott.