[Bug]: graphify query loads every language extractor just for _file_stem (about 34 ms per call)
メンテナーはふだん 2 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- python
- 領域
- backend, cli, performance
調査の方向性
graphify/build.py の graph_has_legacy_ids から始め、graphify.extractors.base から _file_stem をどのようにインポートしているかを追い、そのインポート経路をパッケージの extractor 読み込み動作と比較してください。報告されたインポート時のコマンドを使って、読み取り専用のクエリでもすべての言語 extractor が読み込まれるか確認してください。クエリと MCP のグラフ読み込みで不要なインポートを避けつつ、graph_has_legacy_ids の動作を維持できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Pre-flight checks
- I have checked the Troubleshooting section in the README
What happened?
graphify query (and the MCP server's graph load) imports every language extractor before answering. Both call graph_has_legacy_ids in graphify/build.py, which imports _file_stem from graphify.extractors.base. Importing that package loads all the extractors, about 55 ms, for a 3-line helper.
python -X importtime -m graphify query "..." on click: graphify.extractors costs about 34 ms of 229 ms of top-level imports. Agents call query many times per task, so this is paid on every call.
Steps to reproduce
cd click && graphify update .
python -X importtime -m graphify query "how does Context invoke a command" 2>&1 | grep graphify.extractors
Error output or graph output
graphify.extractors and the language extractor modules show up in the import trace of a read-only command.
Graphify version
0.9.106 (v8 at 35d1d203)
Operating System
Linux (measured), also Windows
Python Version
3.13
Installation Method
uv tool install (recommended)
- 主要言語
- Python
- スター
- 124k
- フォーク
- 11.9k
- 平均マージ
- 2時間 35分
- マージ済み PR(30日)
- 6
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Graphify-Labs/graphify のほかの issue
-
[Bug]: Python mod.Box[T] annotation gets a false generic_arg edge that replaces the parameter_type one ('is' on tree-sitter nodes)再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Graphify-Labs/graphify#5110 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
Graphify-Labs/graphify#5006 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
extract --out <dir>: semantic cache never saved, docs missing from manifest (relative source_file resolved against --out)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Graphify-Labs/graphify#4831 · コメント 3 件 ·
メンテナーはふだん 2 日以内に返信
-
hooks: last-resort `python3` probe launches the Microsoft Store redirector on Windows (visible console flash, exit 9009)対応中かも @Deepjyoti-Sarmah が 23 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Graphify-Labs/graphify#4563 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
GRAPHIFY_DISABLE_THINKING is ignored by the claude backend, so thinking eats max_tokens and extraction truncates対応中かも @bercedev が 23 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 69/100
Graphify-Labs/graphify#4546 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
Graphify-Labs/graphify の issue をすべて見る
似ている issue
-
Variable declared without a value suppresses ${VAR:-default} expansion対応中かも @Omarinho12345 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
theskumar/python-dotenv#750 ·
メンテナーはふだん 12 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
Operations on a list[T] | None var throw when the value is None対応中かも @masenf が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
reflex-dev/reflex#7826 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
UKGovernmentBEIS/control-arena#947 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
jasonacox/Powerwall-Dashboard#897 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信