많은 중복 제거 라이브러리 또는 응용 프로그램은 빠른 해시를 위해 Rabin Karp 롤링 해시 알고리즘을 적용하여 파일 바이너리에서 청크를 자릅니다.
내 질문은 왜 Rabin Karp 알고리즘이 청크 절단에 자주 사용되는 것입니까?
저는 이것이 빠른 롤링 해시 알고리즘이라는 것을 알고 있지만 제 질문은 더 근본적입니다.
여러 가지 방법으로 청크를자를 수 있습니다.
예를 들어, 1 바이트 (mod 연산 없음)를 값과 비교하여 청크를 자르면 평균 256 바이트 청크가됩니다.
9 비트를 비교하면 평균적으로 512 바이트 청크가됩니다.
라빈 카프 (Rabin Karp)와 같은 해시 알고리즘과 유사한 해싱 결과를 사용하지 않고 마지막 몇 비트를 비교하는 것뿐입니다. Rabin-Karp 알고리즘과 중복 제거 간의 관계
라빈 카프 롤 해시는 다른 크기의 조각으로 파일을 잘라 청크 알고리즘
- :