AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeile aus Stringlist löschen, wie optimieren?

Ein Thema von p80286 · begonnen am 14. Feb 2014 · letzter Beitrag vom 17. Feb 2014
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.222 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Zeile aus Stringlist löschen, wie optimieren?

  Alt 14. Feb 2014, 11:25
Ich hätte gesagt, das liegt in der Natur von TStringList , oder? Ohne es genau zu wissen hätte ich doch gesagt, das es intern auf ein dynamisch wachsendes/schrumpfendes Array abgebildet wird. Löscht du mittendrin eins raus, rückt alles auf.

Nehme ich eine TStringList bzw eine TList<String> aus der RTL, brauche ich ca 22 Sekunden um auf 5 Mio. Strings ca 2. Mio zufällige herauszulöschen. Nehme ich als Container, nur als Beispiel, ein Spring.Collections.ISet<String> , sind es 1500ms.

Deshalb würde ich bei solchen Datenmengen nach einem anderen Container suchen - Falls meine Annahme den zutrifft, dass es intern ein großes Array ist. Wahrscheinlich wäre es ebenso schneller, wenigstens eine Kopie der TStringList zu bauen: Über alle Elemente drüberruschen und in die Kopie nur die aufnehmen, die nicht leer sind.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz