Ich habe heute Nacht nochmal den Monstertest gefahren. Diesmal wurde er zwar fertig, hat aber mit 1,7 GB Hauptspeicherverbrauch meinen Virenscanner Service zum Absturz gebracht. Die "Fertig" Meldung mit Anzahl und Dauer kam noch, aber dann auch Out of Memory.
Code:
Dateien Zeilen Duplikate Vergleiche Dauer Minuten Vergleiche/Sek.
5.260 4.952.663 N/A 20.142.551.061 3.084,94 51,42 6.529.316,96
Du solltest Dir mal anschauen, wie Du den Speicher anforderst. Teilweise merkt man das richtig, dass er in Intervallen realloziert und anhält.
Wegen des Threads hatte ich mir auch schon überlegt. Man kann ja auch Update statt Prozessmessages einsetzen. Und ob das so viel bringt, weil man ja ständig synchronize für die
VCL-Zugriffe aufrufen muss? Aber ich hatte eine andere Idee, nämlich die Analyse selber in mehreren Threads parallel laufen zu lassen, die sich die Arbeit teilen (z.B. 5 Threads, jeder nimmt sich 25% der Dateien nach der Vorbereitung).