Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Performance issues related to complete_value on large datasets

Ouverte
#189 3 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python
Domaine
api, performance

Piste de recherche

Commencez dans execute.py, au niveau de ExecutionContext.complete_value, complete_list_value et complete_object_value, en utilisant le chemin d’appel graphql.py signalé comme point d’entrée pour la reproduction. Reproduisez la requête imbriquée de 5 000 éléments avec Python 3.8 et graphql-core 3.2.3, profilez l’exécution et vérifiez que toute modification réduit la surcharge sans altérer le résultat renvoyé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hi! We've noticed that returning a list of 5k elements, with a couple of nested objects is pretty slow:

Person {
  id
  name
  lastname
  age
  address {street number}
  job {id org_name}
  partner {id name}
  pets {name type}
  school {id name}
}

image

ncalls tottime percall cumtime percall filename:lineno(function)
1 1.8e-05 1.8e-05 2.145 2.145 graphql.py:103(graphql_sync)
1 1.5e-05 1.5e-05 2.145 2.145 graphql.py:152(graphql_impl)
1/30001 0.19 6.335e-06 2.137 7.122e-05 execute.py:413(ExecutionContext.execute_fields)
1 1.3e-05 1.3e-05 2.137 2.137 execute.py:965(execute)
1 7e-06 7e-06 2.137 2.137 execute.py:328(ExecutionContext.execute_operation)
1/135001 0.3229 2.392e-06 2.135 1.581e-05 execute.py:485(ExecutionContext.execute_field)
1/145001 0.2737 1.888e-06 2.071 1.428e-05 execute.py:575(ExecutionContext.complete_value)
1 0.009884 0.009884 2.071 2.071 execute.py:660(ExecutionContext.complete_list_value)
5000/30000 0.02747 9.156e-07 2.026 6.752e-05 execute.py:893(ExecutionContext.complete_object_value)

By itself it's not really a slow function, but its executed 30k times. Is there any way to reduce the overhead by reducing the number of times this function is invoked?

Tested on Python 3.8 and graphql-core==3.2.3

Langage dominant
Python
Étoiles
531
Forks
147
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de graphql-python/graphql-core

Toutes les issues de graphql-python/graphql-core

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.