Hacker News

Show 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 などのシステム言語に基づいて構築された開発者ツールの新しい波が、エンジニアリング サークルに大きな興奮をもたらしているのはこのためです。 Rev-dep のようなツールは、一般的な JavaScript ベースの knip.dev よりも 20 倍高速に実行できると主張する逆依存関係アナライザーであり、単なる段階的な改善以上の効果をもたらします。これらは、開発プロセス自体をどのように計測するかについて根本的に再考する必要があることを示しています。

逆依存関係解析が実際に行うこと

なぜ速度がそれほど重要なのかを理解する前に、依存関係分析ツールが実際に何をしているのかを理解するのに役立ちます。 JavaScript または TypeScript プロジェクトでは、すべてのファイルが他のファイルからインポートされます。モジュールからエクスポートされるすべての関数、クラス、または定数は、コードベースの他の部分が依存する可能性のある潜在的な依存関係を作成します。 「逆」依存関係分析では、この視点が逆転します。つまり、「このモジュールが何に依存しているか」を尋ねる代わりに、「このモジュールに何が依存しているか」を尋ねます。

2 番目の質問に対する答えが「何もない」の場合は、無効なコードが見つかったことになります。何も輸入しない輸出は無駄だ。何も呼び出さない関数は、月利がかかる技術的負債です。逆依存関係ツールは、プロジェクト グラフ全体を体系的に調べ、モジュール間のすべての関係をマッピングし、インバウンド接続のないノードを明らかにします。その結果、安全に削除できるコードベース内のすべてが正確に監査されます。

💡 ご存知でしたか?

Mewayzは8つ以上のビジネスツールを1つのプラットフォームに統合します

CRM・請求・人事・プロジェクト・予約・eCommerce・POS・分析。永久無料プラン提供中。

無料で始める →

Knip.dev は JavaScript および TypeScript プロジェクトでこれをうまく機能しており、コミュニティで広く尊敬されています。ただし、これは JavaScript で書かれているため、Node.js 上で実行されます。つまり、大規模なファイル システムのトラバーサルやシンボル分析を行う際に、Node のシングルスレッドのパフォーマンス制約をすべて継承します。 500 ファイルを含むプロジェクトの場合、これで問題ありません。 50,000 ファイルを含むプロジェクト (実際のエンタープライズ SaaS 製品を強化するモノレポの一種) の場合、分析には数分かかることがあります。そして、最新の CI/CD パイプラインが動作するリズムでは、数分が取引の分かれ目です。

Go が計算を変える理由

Go は、高速なファイル I/O、優れた同時実行プリミティブ、最小限のランタイム オーバーヘッドなど、依存関係分析で要求される種類のワークロードを正確に実現できるようにゼロから設計されました。 Node.js が単一スレッドで一度に 1 つのタスクを処理し、コールバックに依存して並列処理を偽装するのに対し、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、請求書、プロジェクト、人事などを網羅するオールインワンプラットフォーム。クレジットカードは不要です。

今日からビジネス管理をスマートに始めましょう。

30,000+社の企業が参加しています。永久無料プラン・クレジットカード不要。

これは役に立ちましたか?共有する。

実践に移す準備はできていますか?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

無料トライアル開始 →

行動を起こす準備はできていますか?

今日からMewayz無料トライアルを開始

オールインワンビジネスプラットフォーム。クレジットカード不要。

無料で始める →

14日間無料トライアル · クレジットカード不要 · いつでもキャンセル可能