Slow introspection query execution for large schemas
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- api, performance
調査の方向性
graphql_sync と get_introspection_query から始め、参照されている graphql_compiler/fast_introspection.py モジュールと実行経路を比較します。約1万個の型を持つスキーマで introspection query を再現し、実行をプロファイルします。報告されている26秒の実行時間に対して、支配的なオーバーヘッドを特定して対処し、測定可能な改善を達成できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
The graphql-core graphql_sync function takes approximately 20x slower than a module that I wrote that solely executes the introspection query. https://github.com/kensho-technologies/graphql-compiler/blob/main/graphql_compiler/fast_introspection.py
With the graphql-core Python library, executing the default introspection query (outputted from get_introspection_query) on a schema of around ten thousand types with graphql_sync takes 26 seconds to run. Writing my own module that calls the same graphql-core Type resolvers executes the same query on the same schema in 1.37 seconds.
I'm not sure what exactly is the time sink with the graphql-core's approach, but it might have to do with the generality of graphql_sync and thus, computing the next field to resolve at every step, and also graphql_sync's recursive nature. Interestingly, I ran the same query on the same schema using Graphql.js, and the execution took less than 2 seconds (around 1.7 seconds).
Thank you for your time and all the work to port GraphQL.js to Python!
- 主要言語
- Python
- スター
- 531
- フォーク
- 147
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
graphql-python/graphql-core のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 50/100
graphql-python/graphql-core#272 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
graphql-python/graphql-core#269 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
graphql-python/graphql-core#267 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
graphql-python/graphql-core#257 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
graphql-python/graphql-core#247 · コメント 8 件 ·
graphql-python/graphql-core の issue をすべて見る
似ている issue
-
essnmx good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
-
[Feature] 奇物选择添加优先级 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
syfoud/Simulated_Scepter#174 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Giskard-AI/giskard-oss#2840 · コメント 1 件 ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success オープンarea: repo bug perceived difficulty: 2
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
yeti-platform/yeti#1380 ·