![]() |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Ich würde mich da nicht mit codieren quälen.
Die CSVs in einer DB einbinden (meinetwegen auch importieren) und dann bequem per SQL abfragen. Zählen, Suchen, Dubletten, Lang, Kurz, Vergleichen, whatever.. auch ein neues Gesamtergebnis kann man dann wieder rausgeben oder aber eine Liste mit neuen Einträgen |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Zitat:
Und ja, ich habe immer noch Delphi 2007. Die Idee mit einlesen in eine DB kann ich mal umsetzen. Aber ich glaube nicht das es schneller wird. |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Aber dann könntest du doch auch einfach die Strings in die StringList adden und wenn ein Duplikat auftaucht bekommst du einen Fehler den du auswerten kannst. Oder verstehe ich da etwas falsch?
Zitat:
|
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Zitat:
Ich habe es gerade mal auf THashedStringList umgestellt. Das ist wesentlich langsamer. |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Zitat:
Zitat:
|
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Zitat:
|
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Wie oben geschrieben, das Ganze in der Datenbank dürfte schnell und bequem sein. Selbst wenn man die Daten nicht importiert, sondern der DB nur die CSV "hinlegt" und bekannt gibt. Geht für firebird, postgres, oracle und sicher auch mssql.
Selbst mit sqlite wäre es ein 3 Zeiler, wenn man nicht extra eine dicke DB anwerfen will. Dann noch notwendige Indizes spendieren und alles ist toll. sqlite hätte den Charme, dass man je CSV File eine eigene sqlite Datei nutzen könnte, mit anderen per dblink koppeln usw. Man kann also munter mit den Daten jonglieren. |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Zitat:
IndexOf in StringList sortiert > bei 1000 Einträgen bis zu 10 String-Vergleiche IndexOf in StringList unsortiert > bei 1000 Einträgen alle 1000 String-Vergleiche, wenn nicht enthalten (durchschnittlich 500 wenn vorhanden) "diese" THashedStringList ist gut beim Suchen, aber extrem schlecht beim Hinzufügen/Ändern. Du änderst aber sehr oft und suchst verhältnismäßg selten. |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Hi,
ist vielleicht untergegangen. Sorted ist True. Hatte ich in #12 beantwortet. Aber mich schlecht ausgedrückt. |
AW: Muss viele Strings vergleichen. Geschwindigkeit...
Hi,
ich denke mal, das wenn man so eine Datenmenge hat, es nicht im Sekunden Bereich liegen kann. Damit muss man wohl leben. Trotz i7 mit 4,4Ghz im Turbomode. Ich habe das nun so abgewandelt das ich einen 32Bit hash errechne und dann mit TIntegerlist arbeite. Das ist annehmbar schnell. ![]() Vielen dank an alle die geholfen haben. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 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 by Thomas Breitkreuz