Hacker News

HN 표시: Rev-dep – Go에서 20배 더 빠른 knip.dev 대체 빌드

knip.dev보다 20배 빠른 Go 내장 데드 코드 감지 도구인 rev-dep를 살펴보세요. 성장하는 소프트웨어 팀을 위해 빌드 시간을 단축하고 코드베이스를 정리하세요.

4 분 읽음

Mewayz Team

Editorial Team

Hacker News

성장하는 모든 소프트웨어 팀에 숨겨진 세금

충분히 오래 살아남은 모든 소프트웨어 프로젝트는 결국 똑같은 조용한 위기에 직면하게 됩니다. 즉, 코드베이스는 팀이 이해할 수 있는 것보다 빠르게 성장하기 시작합니다. 아무도 호출하지 않는 기능, 2022년에 출시되어 조용히 사용되지 않는 기능을 위해 생성된 내보내기, 디스크에 있지만 브라우저에 도달하지 않는 구성 요소. 이것은 엉성함이 아니라 물리학입니다. 팀은 빠르게 움직이고, 요구사항은 변하며, 엔트로피는 끝이 없습니다. 문제는 코드베이스에 데드 코드가 있는지 여부가 아닙니다. 문제는 지금 당장 비용이 얼마나 드는가입니다.

Google 엔지니어링 생산성 팀의 연구에 따르면 개발자는 새로운 기능을 작성하는 대신 기존 코드를 읽고 이해하는 데 코딩 시간의 평균 42%를 소비합니다. 기존 코드에 더 이상 어떤 목적으로도 사용되지 않는 수천 개의 줄이 포함되어 있으면 그 비율은 훨씬 더 높아집니다. 10명의 엔지니어로 구성된 팀의 경우 사실상 4명의 정규 직원이 생산적인 일을 하지 않는 셈입니다. 게으른 탓이 아니라 도구가 소프트웨어 노후화 속도를 따라가지 못하기 때문입니다.

이것이 바로 Go 및 Rust와 같은 시스템 언어를 기반으로 구축된 새로운 개발자 도구가 엔지니어링 분야에서 진정한 흥분을 불러일으키는 이유입니다. 인기 있는 JavaScript 기반 knip.dev보다 20배 더 빠르게 실행된다고 주장하는 역종속성 분석기인 Rev-dep와 같은 도구는 단순한 점진적인 개선 이상의 것을 나타냅니다. 이는 개발 프로세스 자체를 계측하는 방법에 대한 근본적인 재검토를 의미합니다.

역의존성 분석이 실제로 하는 일

속도가 왜 그렇게 중요한지 이해하기 전에 종속성 분석 도구가 실제로 수행하는 작업을 이해하는 것이 도움이 됩니다. JavaScript 또는 TypeScript 프로젝트에서는 모든 파일을 다른 파일에서 가져옵니다. 모듈에서 내보낸 모든 함수, 클래스 또는 상수는 코드베이스의 다른 부분이 의존할 수 있는 잠재적인 종속성을 생성합니다. "역방향" 종속성 분석은 이러한 관점을 뒤집습니다. "이 모듈은 무엇에 의존합니까?"라고 묻는 대신 "이 모듈에 의존하는 것은 무엇입니까?"라고 묻습니다.

두 번째 질문에 대한 대답이 "아무것도 없음"이라면 데드 코드를 발견한 것입니다. 아무것도 수입하지 않는 수출은 낭비이다. 아무것도 부르지 않는 기능은 월 이자율이 있는 기술 부채입니다. 역의존성 도구는 전체 프로젝트 그래프를 체계적으로 탐색하고, 모듈 간의 모든 관계를 매핑하고, 인바운드 연결이 없는 노드를 표시합니다. 그 결과 코드베이스에서 안전하게 제거할 수 있는 모든 항목에 대한 정확한 감사가 이루어집니다.

💡 알고 계셨나요?

Mewayz는 8개 이상의 비즈니스 도구를 하나의 플랫폼으로 대체합니다.

CRM · 인보이싱 · HR · 프로젝트 · 예약 · eCommerce · POS · 애널리틱스. 영구 무료 플랜 이용 가능.

무료로 시작하세요 →

Knip.dev는 JavaScript 및 TypeScript 프로젝트에서 이 기능을 잘 수행하며 커뮤니티에서 널리 존경받습니다. 그러나 이는 JavaScript로 작성되었으며 이는 Node.js에서 실행된다는 것을 의미합니다. 이는 대규모 파일 시스템 순회 및 기호 분석을 수행할 때 Node의 단일 스레드 성능 제약을 모두 상속한다는 것을 의미합니다. 500개의 파일이 있는 프로젝트의 경우에는 괜찮습니다. 실제 엔터프라이즈 SaaS 제품을 지원하는 일종의 단일 저장소인 50,000개의 파일이 있는 프로젝트의 경우 분석에 몇 분 정도 걸릴 수 있습니다. 그리고 몇 분 안에 최신 CI/CD 파이프라인이 작동하는 속도는 딜브레이커입니다.

Go가 계산을 변경하는 이유

Go는 빠른 파일 I/O, 탁월한 동시성 기본 요소, 최소 런타임 오버헤드 등 종속성 분석이 요구하는 종류의 워크로드를 위해 처음부터 설계되었습니다. Node.js가 단일 스레드에서 한 번에 하나의 작업을 처리하고 콜백에 의존하며 가짜 병렬 처리를 약속하는 경우 Go는 사용 가능한 모든 CPU 코어에서 실제로 병렬로 실행되는 수천 개의 고루틴을 생성할 수 있습니다. 수백 개의 파일을 읽고, AST를 구문 분석하고, 기호 관계 그래프를 작성하는 작업의 경우 이러한 아키텍처 차이는 벽시계 성능으로 직접 변환됩니다.

Rev-dep이 주장하는 20배 속도 향상은 마술이 아닙니다. 올바른 문제에 올바른 언어를 일치시킬 때 일어나는 일입니다. Go의 컴파일 특성은 JIT 워밍업 페널티가 없음을 의미합니다. 콜드 스타트부터 전체 분석까지 Go 바이너리는 거의 피크 p에서 작동합니다.

Frequently Asked Questions

What makes Rev-dep faster than knip.dev?

Rev-dep is built in Go, a compiled systems language optimized for concurrency and raw execution speed, whereas knip.dev runs on Node.js. This architectural difference allows Rev-dep to analyze dependency graphs and detect dead code up to 20x faster. For large monorepos or complex codebases — like the 207-module architecture powering Mewayz's business OS at app.mewayz.com — that performance gap translates into real time saved on every CI run.

How much dead code does a typical growing project accumulate?

Studies and anecdotal reports from engineering teams suggest that mature codebases can carry anywhere from 10% to 35% unused or unreachable code. The problem compounds as teams scale — features get deprecated, APIs change, and modules are abandoned without cleanup. Platforms like Mewayz, which consolidates over 207 business modules into a single $19/mo operating system, rely heavily on systematic dead code detection to keep the codebase lean and maintainable.

Is Rev-dep suitable for teams that don't use JavaScript or TypeScript?

Rev-dep is currently focused on JavaScript and TypeScript ecosystems, making it a direct alternative to knip.dev for those environments. Support for additional languages may expand as the project matures. If your team builds web-based products or SaaS tools — similar to how Mewayz delivers its full business OS at app.mewayz.com — and your stack is JS/TS-heavy, Rev-dep is well worth evaluating as part of your developer toolchain today.

Can I integrate Rev-dep into my existing CI/CD pipeline?

Yes. Rev-dep is designed as a CLI tool, making it straightforward to drop into any CI/CD pipeline alongside your existing linting and testing steps. Its speed advantage is especially valuable in automated pipelines where faster feedback loops reduce developer wait times. Whether you're running a lean startup or managing a full-featured platform like Mewayz's $19/mo business OS, integrating dead code analysis into your pipeline helps enforce codebase hygiene at every merge.

Mewayz 무료로 사용해보기

CRM, 인보이싱, 프로젝트, HR 등을 위한 올인원 플랫폼. 신용카드 불필요.

오늘부터 더 스마트하게 비즈니스를 관리하세요

30,000+개의 비즈니스에 합류하세요. 영구 무료 플랜 · 신용카드 불필요.

이것이 유용하다고 생각하시나요? 공유하세요.

이를 실전에 적용할 준비가 되셨나요?

Mewayz를 사용하는 30,000+개 기업과 함께하세요. 영구 무료 플랜 — 신용카드 불필요.

무료 체험 시작 →

행동할 준비가 되셨나요?

오늘 Mewayz 무료 체험 시작

올인원 비즈니스 플랫폼. 신용카드 불필요.

무료로 시작하세요 →

14일 무료 체험 · 신용카드 없음 · 언제든지 취소 가능