Здравствуйте Алекс,
AT> Да, так останутся только коллизии по CRC32. Возможно, их не будет.
#!/usr/local/bin/perl -w
use strict;
use String::CRC32;
my %uniq_values;
for (my $i=0; $i<1000000; $i++) {
my $j=crc32($i);
if (exists $uniq_values{$j}) {
print "CRC32(".$i.")=CRC32(".$uniq_values{$j}.")\n";
}
else{
$uniq_values{$j}=$i;
}
}
за миллион значений не было ниодной коллизии! За полтора милииона тоже
нет коллизий. Большие значения проверить не могу - своппинг
начинается. Но результаты меня более чем устраивают.
С уважением,
Михаил Монашёв, SoftSearch.ru
Member of Independent Software Developers Forum (ISDEF)
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.