microsoftgraph / microsoftgraph/msgraph-sdk-python

Improve execution time on Model deserialization

Ouverte
#584 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement
Langage dominant
Python
Étoiles
630
Forks
96
Merge moyen
15 h 20 min
PR mergées (30 j)
3

Description

So I tried to migrate our usage of raw API calls to Microsoft Graph to your new release 1.1.0.
And I measured execution time with the bare-bones method time.time() before method call, time.time() after method call.

I've tried performing get requests for the endpoints: me, users, domains.

The results were that the sdk is on average 3.5 times slower than the raw call to API which I think a great deal.

Furthermore, I was curios where this overhead came from and I searched through the code with debug.
And the most time spent in execution is after the call to the rest api, when the sdk is building a model by deserializing the json object got from the request in a sdk specific object.

This execution time difference lead me to decide that I should postpone the migration until this is improved or fixed.

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Commencez par suivre la désérialisation des modèles du SDK après la réponse REST, que l'issue identifie comme la principale source de surcharge. Reproduisez la comparaison rapportée pour les endpoints me, users et domains ; la tâche est considérée comme terminée lorsqu'une réduction mesurable du temps d'exécution par rapport aux appels directs à l'API est démontrée.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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