수십억 개의 쿠키, 문자열과 같은 UUID가 주어지면이 샘플의 murmur3과 같은 32 비트 해시 함수의 충돌 비율을 테스트하는 가장 좋은 방법은 무엇입니까?어떻게 해시 함수 충돌 속도를 높일 수 있습니까?
우선 메모리에 보관할 수 없으며 100 % 정확한 임의의 문자열 생성기가 없기 때문에 수십억 개의 고유 한 문자열을 생성하기가 어렵습니다. 내가 생각할 수있는
유일한 방법은 다음과 같습니다
- 을 생성하고 약 사용. 가능한 중복을 제거하기 위해 bloomfilter 또는 cuckoo 필터와 같은 데이터 구조. 그런 다음 파일에 저장된 고유 UUID의 정확히 5B 개를 말합니다.
- 을 반복하여 해시하고 해시 코드로 1 단계를 반복하면서 충돌이 몇 건 있는지 계산합니다.
더 좋은 방법이 있습니까? 이것은 2)에서 해시 코드를 테스트하는 동안 특정 오 탐지율이 있다는 단점이 있습니다. 해시 코드는 파일에 기록되어야하며 가능한 오 탐지 (false positive hit)의 경우 수동으로 검사해야합니다.