Forum: Programmieren allgemein
by himitsu,
24. Sep 2020
CompareMem bricht beim ersten Unterschied ab,
während er Hash immer alles durchgehen muß.
Allerdings wird beim Hash immer nur auf einen Speicherbereich gleichzeitig zugegriffen werden,
während beim Direktvergleich eventuell öfters im Cache die Speicherbereiche umgeschaltet/neugeladen werden müssen.
Dagegen wird bei einem Hash aber auch bissl was "berechnet", was wieder bissl Zeit braucht.
...
Forum: Programmieren allgemein
by himitsu,
23. Sep 2020
if TFile.ReadAllText(FileA) = TFile.ReadAllText(FileB) then
...
Leider gibt es aus irgendeinem schwachsinnigem Grund in TFile oder sonstwo im Delphi kein GetFileSize, sonst könnte man es Binär auch mit einer einzen Zeile lösen.
Und leider gibt es auch keinen Comparer für TBytes. Mal nachsehn, ob inzwischen, aber ich glaub nicht dran.
A := TFile.ReadAllBytes(FileA);
B :=...