Hi Hannes,
multi-threading ist ein guter Ansatz, wenn man beispielsweise auf Ereignisse wartet, wobei Festplatte und CPU Däumchen drehen.
Leider hilft es nichts, einen Prozess mit (fast) 100% CPU-Nutzung auf 5 threads zu verteilen, da die sich auch nur die vorhandene Performance aufteilen können, so dass jeder idealerweise 20% bekommt.
Bevor man aber irgendwas mit REs machen kann, muss die Datei in den Arbeitsspeicher. Auch hier hilft es nichts, die Datei aufzuteilen und gleichzeitig einzulesen. Du hast weniger Leseleistung (ist wie Lesen von fragmentierten Daten), beanspruchst aber mehr Filehandler und Dein Lesekopf veranstaltet nen Breakdance, wenn er zwischen den Sektoren umherspringt.
Und ich kenne keine Funktion, die den Dateiinhalt durchsuchen könnte, ohne ihn vorher von der Platte einzulesen.
Übritens umfasst meine Datenbankstruktur derzeit 38 Tabellen, inklusive LUTs und Zwischen-LUTs (look-up tables) für einige m:n-Beziehungen.
Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...