microsoftgraph / microsoftgraph/msgraph-sdk-python
Improve execution time on Model deserialization
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 630
- Forks
- 96
- Merge medio
- 15 h 20 min
- PR fusionados (30 d)
- 3
Descripción
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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza rastreando la deserialización de modelos del SDK después de la respuesta REST, que el issue identifica como la principal fuente de sobrecarga. Reproduce la comparación indicada para los endpoints me, users y domains; la tarea estará completada cuando se demuestre una reducción medible del tiempo de ejecución frente a llamadas directas a la API.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, performance
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100