AGB  ·  Datenschutz  ·  Impressum  







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

Extrem grosse Textdatei durchsuchen

Ein Thema von GetMyNameEx · begonnen am 8. Aug 2006 · letzter Beitrag vom 8. Aug 2006
Antwort Antwort
GetMyNameEx

Registriert seit: 30. Mär 2006
2 Beiträge
 
#1

Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:38
Hi!

Habe eine (und damit mehrere ) extrem grosse Textdatei (100-500MB), in der ich die Häufigkeit einer bestimmten Zeichenfolge ermitteln will. Bei 200MB und dem Laden der Datei in eine TStringList, die anschliessend durchsucht wird dauert das ganze ca. 5Minuten (die Zeichenfloge wurde ca. 200.000 mal gefunden). gibt es keine möglichkeit das ganze schneller durchzuführen?

Zusatzfrage:
Wie leg ich mich am besten an wenn ich die Datei in mehrere aufteilen will, wobei in jeder (Teil-)Datei die Zeichenfolge x-mal drin vorkommen soll?

MfG,
Frank
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 31. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:43
Du könnstest z.B. vorher
StringList.BeginUpdate;
und danach
StringList.EndUpdate;
ausführen. Das bringt schon etwas Geschwindigkeit...

Ansonsten arbeite doch mit einer Datenbank...
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:44
Hallo Frank,

vielleicht findest Du in diesem Thread einige Ansätze: http://www.delphipraxis.net/internal...ghlight=suchen

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.891 Beiträge
 
Delphi 12 Athens
 
#4

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:50
Oder wie wäre es hiermit?

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:50
Zitat von CK_CK:
Du könnstest z.B. vorher
StringList.BeginUpdate;
und danach
StringList.EndUpdate;
ausführen. Das bringt schon etwas Geschwindigkeit...
Eine StringListe ist eine nicht visuelle Komponente, was für ein Fenster willst du da nicht neu zeichnen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 31. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:50
Zitat von Luckie:
Eine StringListe ist eine nicht visuelle Komponente, was für ein Fenster willst du da nicht neu zeichnen?
Ups... Hab's mit ListBox verwechselt...
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 14:55
Ich würde vmtl. mit FileOpen, FileRead und FileClose arbeiten.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
GetMyNameEx

Registriert seit: 30. Mär 2006
2 Beiträge
 
#8

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 15:35
Vielen Dank für die schnellen und hilfreichen Antworten.
Dadurch konnte ich die 'Suchzeit' auf etwa die hälfte verkürzen!
  Mit Zitat antworten Zitat
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#9

Re: Extrem grosse Textdatei durchsuchen

  Alt 8. Aug 2006, 17:13
Also eine StringList ist da sicherlich eine sehr suboptimale Lösung. Mit Hador schon sagte mit FileOPen und co. wirst du einiges schneller sein, und zum durchsuchen der Daten wenn du sie dann mit ReadFile gelesen hast wäre der KMP oder der Boyer-Moore Algorithmus sicherlich nicht ungeeignet.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz