Hardlink doesn't preserve date of creation, modification and last access.
Also comparison of files seems quite slow. Are you using filters in right order? Also calculating crc from random small piece can do a trick.
Hardlink doesn't preserve dates
Bitofawally, CRC is a hash algorithm. It's used the get a magic number based on file content. But it's not the best (CRC16 ou CRC32). We can get colision some times. We can found best options (MD5, SHA-1, SHA-256, Tiger, GOST-Hash, etc). But if you increase the level, you will get extra overclock too!