Transform ArrayList to LinkedList for Performance Improvement
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- java
- Domaine
- performance
Piste de recherche
Commencez par examiner le patch référencé dans #1444 ainsi que les utilisations concernées de ArrayList. Confirmez que chacune est utilisée uniquement pour le parcours ou la récupération du premier/dernier élément et que la conversion proposée vers LinkedList préserve le comportement ; l’achèvement consiste à accepter ce patch.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Java
- Étoiles
- 1.4k
- Forks
- 476
- Merge moyen
- 10 h 47 min
- PR mergées (30 j)
- 3
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de googleapis/google-http-java-client
-
Core: Validate header names and values to prevent CRLF injectionPeut-être pris @insaf021 l’a pris il y a 106 jours. Ouvertepriority: p3
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Core: XmlPullParser processes external DTD entities (XXE) — disable FEATURE_PROCESS_DOCDECL in Xml#createParser()Peut-être pris @insaf021 l’a pris il y a 106 jours. Ouvertepriority: p3
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
Core: LowLevelHttpResponse not disconnected when HttpResponse construction throws RuntimeExceptionPeut-être pris @insaf021 l’a pris il y a 107 jours. Ouvertepriority: p3
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
type: cleanup
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
org.apache.http.conn.ssl.SSLSocketFactory is deprecatedPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertepriority: p2 type: cleanup
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Toutes les issues de googleapis/google-http-java-client
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
finos/fluxnova-bpm-platform#387 ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
Difficulté 2/5 Moins d'une heure Accessibilité débutants 84/100
cpp-best-practices/project_validator#251 ·
Les mainteneurs répondent en général sous 1 jour
-
backend enhancement
Difficulté 2/5 Une demi-journée Accessibilité débutants 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changePeut-être pris @dwizard0 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour