Repolode
rurban

rurban/smhasher

해시 함수의 속도와 통계적 품질을 측정하고, 테스트한 구현을 대규모 표로 정리한 테스트 도구 모음입니다.

스타
2,183
포크
192
열린 이슈
45
마지막 커밋
16일 전

어떤 프로젝트인가요?

SMHasher는 해시 함수 테스트 도구 모음입니다. 대량 키와 짧은 키를 대상으로 속도 벤치마크를 수행하고, 해시 맵 조회 비용을 측정하며, 충돌 횟수, 편향, avalanche, sanity 검사 같은 통계적 품질 테스트로 함수 출력의 약점을 찾아냅니다.

저장소에는 MurmurHash, xxHash, wyhash, CityHash, FarmHash, SipHash 등을 비롯해 수백 가지 비암호학적·암호학적 해시 함수를 다룬 대규모 비교 표도 공개되어 있습니다. 각 항목에는 처리량, 짧은 해시 계산에 필요한 사이클 수, 해시 맵 성능, 객체 크기, 함수가 실패한 품질 테스트가 나와 있습니다. 데스크톱 x86부터 32비트 ARM 휴대폰까지 여러 CPU에서 얻은 결과를 제공합니다.

데이터와 함께 작성자의 결론도 실려 있습니다. 품질에 사소한 결함이 있는 고속 해시도 실제 해시 테이블에서는 성능이 좋은 경우가 많지만, 보안이 중요한 용도에는 암호학적 설계나 키를 사용하는 설계가 필요하다는 점을 강조합니다.

핵심 기능

  • 01대량 키 처리량과 짧은 키 해싱에 필요한 사이클 수를 벤치마크합니다.
  • 02인라이닝 분석을 위해 해시 맵 조회 성능과 객체 크기를 측정합니다.
  • 03충돌, 편향, avalanche, sanity 관련 통계적 품질 테스트를 실행합니다.
  • 04여러 CPU 플랫폼에서 정렬 가능한 비교 표를 제공합니다.

활용 사례

  • 해시 테이블이나 심볼 테이블 구현에 사용할 해시 함수를 선택합니다.
  • 도입 전에 후보 해시 함수의 속도와 품질을 비교합니다.
  • 새 해시 함수 구현을 기존 테스트 도구 모음으로 검증합니다.
  • 해시 속도, 충돌 동작, 해시 테이블 성능 간의 절충점을 살펴봅니다.

사용 전 알아둘 점

  • 라이선스가 명확히 명시되어 있지 않아(메타데이터에는 NOASSERTION으로 표시됨) 재사용 조건을 알 수 없습니다.

포함된 컬렉션

토픽

자주 묻는 질문

smhasher은(는) 무엇인가요?
해시 함수의 속도와 통계적 품질을 측정하고, 테스트한 구현을 대규모 표로 정리한 테스트 도구 모음입니다. SMHasher는 해시 함수 테스트 도구 모음입니다. 대량 키와 짧은 키를 대상으로 속도 벤치마크를 수행하고, 해시 맵 조회 비용을 측정하며, 충돌 횟수, 편향, avalanche, sanity 검사 같은 통계적 품질 테스트로 함수 출력의 약점을 찾아냅니다.
smhasher은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
smhasher은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
smhasher은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. smhasher의 마지막 커밋은 2026년 10월 22일입니다.
smhasher은(는) 어디에 사용할 수 있나요?
해시 테이블이나 심볼 테이블 구현에 사용할 해시 함수를 선택합니다. 도입 전에 후보 해시 함수의 속도와 품질을 비교합니다. 새 해시 함수 구현을 기존 테스트 도구 모음으로 검증합니다. 해시 속도, 충돌 동작, 해시 테이블 성능 간의 절충점을 살펴봅니다.
smhasher은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/rurban/smhasher

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

플랫폼에 관계없이 동일한 32·64·128비트 해시를 생성하는 초고속 비암호학적 해싱용 C 라이브러리입니다.

개발 도구#hash-function#checksum#non-cryptographic
1.1만+14 이번 주946COther활발히 관리됨업데이트 9일 전

작은 테스트부터 애플리케이션과 라이브러리의 복잡한 기능 테스트까지 쉽게 작성할 수 있는 Python 테스트 프레임워크입니다.

1.5만+14 이번 주3.6천PythonMIT활발히 관리됨업데이트 그저께