Transform ArrayList to LinkedList for Performance Improvement
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Refatoração
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- java
- Domínio
- performance
Direção de pesquisa
Comece revisando o patch referenciado em #1444 e os usos afetados de ArrayList. Confirme que cada um é usado somente para percorrer ou recuperar o primeiro/último elemento e que a conversão proposta para LinkedList preserva o comportamento; a conclusão consiste na aceitação desse patch.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi,
We find that there are several ArrayList objects which are not manipulated by random access. Due to the memory reallocation triggered in the successive insertions, the time complexity of add method of ArrayList is amortized O(1). We notice that these objects are only used for traversal and the retrieval for the first or the last element.
This functionality can be implemented by LinkedList. Moreover, the insertion of LinkedList is strictly O(1) time complexity because no memory reallocation occurs.
We discovered this inefficient usage of containers by our tool Ditto. The patch is submitted in #1444. Could you please check and accept it? We have tested the patch on our PC. The patched program works well.
Bests
Ditto
- Linguagem predominante
- Java
- Estrelas
- 1.4k
- Forks
- 476
- Merge médio
- 10h 47min
- PRs com merge (30d)
- 3
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de googleapis/google-http-java-client
-
Core: Validate header names and values to prevent CRLF injectionTalvez já em andamento @insaf021 assumiu há 106 dias. Abertapriority: p3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Core: XmlPullParser processes external DTD entities (XXE) — disable FEATURE_PROCESS_DOCDECL in Xml#createParser()Talvez já em andamento @insaf021 assumiu há 106 dias. Abertapriority: p3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
Core: LowLevelHttpResponse not disconnected when HttpResponse construction throws RuntimeExceptionTalvez já em andamento @insaf021 assumiu há 107 dias. Abertapriority: p3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
type: cleanup
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
org.apache.http.conn.ssl.SSLSocketFactory is deprecatedTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertapriority: p2 type: cleanup
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Todas as issues de googleapis/google-http-java-client
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
finos/fluxnova-bpm-platform#387 ·
Mantenedores costumam responder em até 4 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
-
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 84/100
cpp-best-practices/project_validator#251 ·
Mantenedores costumam responder em até 1 dia
-
backend enhancement
Dificuldade 2/5 Meio dia Facilidade para iniciantes 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changeTalvez já em andamento @dwizard0 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia