Der Martin: rename oder Copy / unlink Geschwindigkeit?

Beitrag lesen

Hi,

verschieben ist lediglich ein Umbiegen im Dateisystem, da werden keine Daten bewegt. Es ist damit viel schneller als die Daten zu kopieren und anschließend den alten Verzeichniseintrag zu entfernen.

diese Aussage ist richtig, solange Quell- und Zielpfad auf derselben Partition (Windows: auf demselben logischen Laufwerk) liegen.
Sobald Quelle und Ziel auf verschiedenen Partitionen liegen, ist der Vergleich müßig, dann geht's nicht anders als erst zu kopieren, dann zu löschen. Das macht PHP aber AFAIK selbständig.

Aber es gibt außer dem Geschwindigkeitsvorteil noch ein weiteres Argument fürs Verschieben (bzw. gegen die copy+delete-Methode). Wenn ich eine Datei erst kopiere und dann das Original lösche, brauche ich zwischendurch den doppelten Speicherplatz auf dem Datenträger, da die Datei für einen kurzen Moment in zwei Verzeichnissen gleichzeitig existiert. Beim Verschieben (rename) wird dagegen nur der Verzeichniseintrag verschoben, es entsteht kein zusätzlicher Platzbedarf.

So long,
 Martin

--
Datenbanken speichern keine User.
Das liegt daran, daß Datenbanken mit der Lebensmittelversorgung für gespeicherte biologische Lebensformen derzeit noch Probleme haben.
  (Christoph Schnauß)