microsoftgraph / microsoftgraph/msgraph-sdk-python

Improve execution time on Model deserialization

Aberta
#584 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

enhancement
Linguagem predominante
Python
Estrelas
630
Forks
96
Merge médio
15h 20min
PRs com merge (30d)
3

Descrição

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.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece rastreando a desserialização dos modelos do SDK após a resposta REST, que o issue identifica como a principal fonte de overhead. Reproduza a comparação relatada para os endpoints me, users e domains; a tarefa estará concluída quando for demonstrada uma redução mensurável no tempo de execução em relação a chamadas diretas à API.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
api, performance
Tipo de issue
Refatoração
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.