Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#33

Re: FileDup - identische Dateien in einem Ordner suchen

  Alt 3. Aug 2005, 15:25
Zitat:
Was könnte daran Rechenleistung kosten?
Nochmal. Ich gehe davon aus das Step 3.) und 4.) separate Funktionen sind. Beide Funktionen müssen also die Dateien öffnen, Daten einlesen, diese vergleichen und Dateien wieder schließen.

Falls nun Step 4.) immer ausgeführt wird wenn Step 3.) sagt das die ersten 2048 Bytes gleich sind dann würde man also 1 mal zuviel Dateien öffen, Daten einlesen, Daten vergleichen und Dateien wieder schließen. Denn exakt diese ersten 2048 Bytes würden auch beim Step 4.) sowieso eingelesen und verglichen.

Es würde also ausreichen Step 3.) zu eliminieren und gleich im Step 4.) Bufferweise mit 2048 Bytes Größe die Dateien zu vergleichen. Sollte beim ersten 2048 Bytes Buffer keine Übereinstimmung existieren so würde auch Step 4.) die identische Laufzeit zu Step 3.) haben. Sollte aber diese 2048 Bytes gleich sein so würde man mit Step 3.) zusammen also die Dateien doppelt Öffnen, vergleichen,und Schließen.

Die Gesamtperformance mit dem Step 3.) ist also schlechter als ohne diesen und real an zusätzlicher Information bringen tut er nichts da Step 4.) diesen eh funktionell ersetzen wird.

Wie oben angesprochen gibt es nur Ausnahme-Gründe warum man Step 3.) tatsächlich durchführen sollte. Entweder der Bytevergleich der Dateien ist von der Komplexität nicht linear, was aber nicht der Fall hier ist. Oder aber zwischen dem Step 3.) und 4.) gibt es noch andere Schritte, wie zb. eine Progressbar die in Multithreaded Vergleichen eine Anzeige der möglicherweise gleichen Dateien updaten möchte, also quasi Parallele Abarbeitung der Dateivergleiche. Abver auch das machst du nicht, ergo: Step 3.) bringt rein garnichts ausser das er Zeit kostet.

Gruß Hagen
  Mit Zitat antworten Zitat