microsoftgraph / microsoftgraph/msgraph-sdk-python
Improve execution time on Model deserialization
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 630
- Fork
- 96
- Merge medio
- 15h 20m
- PR unite (30g)
- 3
Descrizione
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.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia tracciando la deserializzazione dei modelli dell'SDK dopo la risposta REST, che l'issue identifica come la principale fonte di overhead. Riproduci il confronto riportato per gli endpoint me, users e domains; l'attività è completata quando viene dimostrata una riduzione misurabile del tempo di esecuzione rispetto alle chiamate dirette all'API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api, performance
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100