Transform ArrayList to LinkedList for Performance Improvement
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Refactoring
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java
- Bereich
- performance
Rechercherichtung
Beginne mit der Überprüfung des in #1444 referenzierten Patches und der betroffenen Verwendungen von ArrayList. Bestätige, dass jede davon ausschließlich zur Traversierung oder zum Abrufen des ersten/letzten Elements verwendet wird und dass die vorgeschlagene Umstellung auf LinkedList das Verhalten beibehält; der Abschluss ist die Annahme dieses Patches.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Java
- Sterne
- 1.4k
- Forks
- 476
- Ø Merge
- 10 Std. 47 Min.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus googleapis/google-http-java-client
-
Core: Validate header names and values to prevent CRLF injectionEvtl. vergeben @insaf021 hat das vor 106 Tagen übernommen. Offenpriority: p3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Core: XmlPullParser processes external DTD entities (XXE) — disable FEATURE_PROCESS_DOCDECL in Xml#createParser()Evtl. vergeben @insaf021 hat das vor 106 Tagen übernommen. Offenpriority: p3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
Core: LowLevelHttpResponse not disconnected when HttpResponse construction throws RuntimeExceptionEvtl. vergeben @insaf021 hat das vor 107 Tagen übernommen. Offenpriority: p3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
type: cleanup
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
org.apache.http.conn.ssl.SSLSocketFactory is deprecatedEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offenpriority: p2 type: cleanup
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Alle Issues in googleapis/google-http-java-client
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
finos/fluxnova-bpm-platform#387 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 84/100
cpp-best-practices/project_validator#251 ·
Maintainer antworten meist innerhalb von 1 Tag
-
backend enhancement
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changeEvtl. vergeben @dwizard0 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag