Accessing converted C++ class from python is 10-20 times slower

Aberta
#356 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
25/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
cpp, python
Domínio
backend, performance

Direção de pesquisa

A issue não nomeia arquivos nem testes do repositório. Comece reproduzindo a comparação entre o acesso nativo a campos do Python e o acesso ao campo de uma classe C++ convertida; em seguida, rastreie o caminho de acesso a atributos do Boost.Python; o trabalho estará concluído quando o overhead for explicado e uma melhoria validada for identificada.

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

Descrição

What is boost python actually doing when accessing a C++ class field from python. I could live with the overhead from calling functions but just accessing int/bool fields is 10-20 slower than a native python class.

Tested this by making two identical classes one in native python one in C++ and accessing a single integer field. Access in the C++ class seems to be 10 times slower. Can I do anything to improve this ?

Linguagem predominante
C++
Estrelas
537
Forks
223
Merge médio
11h 22min
PRs com merge (30d)
2

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

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.

Mais de boostorg/python

Todas as issues de boostorg/python

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

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