Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: FreeMem vs. Dispose bei TList of Record

  Alt 6. Sep 2011, 19:34
Jenachdem was der Dateivergleich leisten soll, braucht man unterschiedliche Strategien.
Wenn zwei Dateien unterschiedliche Längen haben, dann können sie nicht gleich sein.
Dies sollte man ganz zu Beginn prüfen, bevor man unnötigerweise eine oder mehrere Dateien eingelesen hat.

Möchte man einfach nur zwei Dateien vergleichen, dann sollte man diese blockweise (z.B. 4kByte) einlesen und bei einem Unterschied kann sofort abgebrochen werden.
Das ist ein Riesenvorteil wenn man z.B. zwei Dateien mit jeweils 3 GByte vergleichen möchte und schon nach 16 kByte ein Unterschied aufgetreten ist.

Möchte man dagegen Duplikate finden und dazu jede Datei mit jeder anderen vergleichen,
dann ist es auch nicht ratsam sämtliche Dateien in den Hautpspeicher zu laden.
Stattdessen bildet man eine Prüfsumme (z.B. MD5, SHA-320,...) über alle Dateien und vergleicht nur die Prüfsummen.
Das spart enorm viel Speicher.
Andreas
  Mit Zitat antworten Zitat