Я часто отслеживаю дубликаты примерно так:
processed = set()
for big_string in strings_generator:
if big_string not in processed:
processed.add(big_string)
process(big_string)
Я имею дело с огромными объемами данных, поэтому не хочу хранить обработанный набор в памяти. 1 коллизия на 1 миллиард хешей не будет проблемой для меня.
Я попробовал использовать хэш md5, но обнаружил, что создание хешей стало узким местом.
Что бы вы предложили вместо этого?