fluent / fluent/fluent-logger-python

Use actual bytesarray/memoryview instead of bytes concatenation

Aberta
#113 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
457
Forks
138
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Bytes concatenation such as this is extremely wasteful and is never a good idea.

https://github.com/fluent/fluent-logger-python/blob/master/fluent/sender.py#L137
```python
# buffering
if self.pendings:
self.pendings += bytes_
bytes_ = self.pendings
```

Python has mutable buffers that should be used to ensure that the objects aren't created needlessly putting pressure on GC and wasting CPU with double-copy concatenation.

Guia de contribuição

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

Direção de pesquisa

Comece em fluent/sender.py na linha 137 e rastreie o caminho de buffering ao redor de self.pendings. Leia a implementação circundante de sender para comparar a abordagem proposta com bytearray ou memoryview com a concatenação atual. Está concluído quando os envios armazenados em buffer não concatenarem mais bytes repetidamente, preservando o comportamento existente do sender.

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

Avaliação

Stack de tecnologia
python
Domínio
backend
Tipo de issue
Refatoração
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
38/100

Receba novas issues na sua caixa de entrada

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