Transform ArrayList to LinkedList for Performance Improvement

Offen
#1,445 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

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

type: feature request

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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus googleapis/google-http-java-client

Alle Issues in googleapis/google-http-java-client

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.