fluent / fluent/fluent-logger-python
Use actual bytesarray/memoryview instead of bytes concatenation
- 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