Hacker News오픈소스 · 도구오늘의 주요

Rust로 만든 초고속 diff 도구 OmniDiff 오픈소스 공개

원제 Show HN: OmniDiff – Opensource, super fast, content aware Git difftool, in Rust

143 포인트댓글 38
Key Point

코드 리뷰와 버전 관리에 쓰는 diff 도구의 속도와 정확도가 획기적으로 개선되며, 이미지·폰트·PDF 같은 바이너리 파일도 의미 있게 비교할 수 있게 된다.

핵심 요약

  • Rust로 작성된 콘텐츠 인식 Git diff 도구 OmniDiff를 오픈소스로 공개했으며, 99.95%의 코드 변경을 처리할 수 있다.
  • 98.8%의 변경사항을 콘텐츠별 전문 알고리즘으로 처리하고, 중앙값 처리 시간은 4.2ms, 99백분위는 177ms로 100ms 목표를 대부분 달성한다.
  • Python, JavaScript, Rust, Go, Java, C, C++ 등 25개 언어를 tree-sitter 문법으로 구조적으로 분석하며, 알려지지 않은 확장자 파일도 평문으로 처리된다.
  • PNG, JPEG, GIF, WebP 등 이미지를 픽셀 단위로, ZIP/TAR 등 아카이브를 멤버별로, TrueType/OpenType 폰트를 글리프별로, PDF를 페이지별로 비교한다.
  • VS Code 확장(omnidiff-vscode), Neovim 플러그인(omnidiff.nvim) 지원하며 Git과 Jujutsu(jj) VCS와 통합 가능하다.
  • 대화형 TUI, 헤드리스 모드, JSON 출력, 24비트 색상 지원하며 cargo install, Homebrew, apt 저장소, Nix, Arch, Gentoo 등 다양한 방식으로 설치 가능하다.
  • 442,530개 코드 파일 쌍을 테스트한 결과 99.95%가 성공했으며, 메모리/시간 초과는 19개 자동 생성 파일과 1개 40,000줄 C++ 라이브러리뿐이었다.
  • 손으로 그린 기준 데이터 1,419개 테스트 케이스 중 --full 모드 60%, --minimal 모드 69.6%가 변경사항 강조 오류 없이 정확했다.
  • GNU AGPL v3 라이선스이며 상업 라이선스는 GitHub Sponsors를 통해 월정액으로 제공된다.
  • Claude AI로 작성된 커밋을 Co-Authored-By로 공개하며, 현재 기여 제안은 받지 않고 개발 속도 유지에 집중 중이다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗