microsoftgraph / microsoftgraph/msgraph-sdk-python
Improve execution time on Model deserialization
Personne n'a encore pris cette issue.
- 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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