![]() |
großes Textfile durchsuchen
hi,
Ich möchte ein (mehrere) Textfile(s) mit beliebiger länge (wobei es wohl in den meisten fällen mehrere tausend bis zu mehreren Millionen Zeilen werden) durchsuchen. Um das ganze performant durchzuführen dachte ich an die Verwendung von Threads. Allerdings hab ich da noch nicht allzu viel Erfahrung, von daher erübrigen sich einige Fragen. Ein Thread für die Suche sollte, denke ich, auf jeden Fall verwendet werden, schließlich kann man dann schon die Ergebnisse im ListView ansehen während die Suche noch läuft. Ich dachte dabei bis jetzt daran den Threads ziemlich gleich große Stapel zu geben die sie dann unabhängig voneinander abarbeiten. Also zum Beispiel: Thread 1: Zeile 1 bis 10000 Thread 2: Zeile 10001 bis 20000 Thread 3: Zeile 20001 bis 30000 usw. 1. Sind (mehrere) Threads für dieses Problem überhaupt sinnvoll? 2. Wie greife ich am sinnvollsten und effektivsten von den Threads auf das Textfile zu? Bequem wäre es sicher eine TStringList zu verwenden (die ist auch recht schnell) allerdings muss ja jeder Thread dann das ganze File in seine StringList laden und durchsucht dann nur einen Teil davon! Oder wäre es besser/bzw. (überhaupt) möglich, eine TStringList zu verwenden? Für Anregungen/Hinweise/Tips schonmal vielen Dank schonmal im Vorraus lord |
Re: großes Textfile durchsuchen
Lese die Zeile zeilenweise ein und suche deine gewünschten Infos.
TStringlist wird aufgrund des evtl. nötigens Speichers unpassenden sein. Auslagern in Thread ist evtl. kontraproduktiv, da bei solch einer Aktion das limitierende Element die Festplattengeschwindigkeit ist und diese vermutlich sinken würde wenn du gleichzeitig an verschiedenen Stellen der Datei lesen würdest. |
Re: großes Textfile durchsuchen
Sag bitte was genau suchtst du ? Ein bestimmtes Wort ?
|
Re: großes Textfile durchsuchen
Zitat:
könnte bspw. so aussehen 000 ~ ABC ^ DEFG ~ ABC ^ DEFG Interessant dabei ist es die Felder zu bekommen die durch "~" getrennt sind. Danke schonmal für die 2 Antworten mfg lord |
Re: großes Textfile durchsuchen
Zitat:
Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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