Die Erstellung einer 1,3-GB-Datei dauert nur 1 Sekunde. Wie?

44

Ich habe einen Ordner mit über 200 Dateien und einer Größe von über 1,3 GB:

Bildbeschreibung hier eingeben

Ich verwende die Gizmo Drive-Software, um aus diesem Ordner eine ISO-Datei zu erstellen.

Bildbeschreibung hier eingeben

Das Interessante ist, dass es nur 1 oder 2 Sekunden dauert !

Bildbeschreibung hier eingeben

Ich habe das mehrmals versucht. Ich habe sogar versucht, die .iso-Datei auf einem anderen Volume zu erstellen. Wieder dauert es nur 1 oder 2 Sekunden.

Ich habe versucht, die .iso-Datei zu mounten, alles funktioniert einwandfrei. Ich dachte, dass es eine .iso-Datei sein könnte, die auf den Quellordner verweist, dann habe ich den Quellordner an einen anderen Ort verschoben, aber kein Glück. Auch das Kopieren der erzeugten .iso-Datei dauert Minuten!

Wie kommt es, dass das Erstellen der .iso-Datei nur 1 Sekunde dauert? Hast du eine Erklärung dafür?

Anmerkungen

  1. Alle Tests wurden auf einer normalen Festplatte ohne SSD durchgeführt.
  2. Mit Windows 7 x64, 16 Gig-Speicher, Core i5-CPU.

Ich habe sync.exe verwendet , um alle Dateisystemdaten direkt nach der Erstellung der .iso-Datei auf die Festplatte zu übertragen, und sync.exe brauchte 14 Sekunden, um die Daten zu übertragen. Das heißt, es dauert tatsächlich 14 Sekunden, um die ISO-Datei zu erstellen. Ein kurzer Benchmark auf meinem D: -Laufwerk zeigt, dass es dieselbe .iso-Datei in 14 Sekunden von einer SSD auf mein D: -Laufwerk schreiben kann und dass sich der Quellordner im RAM befindet und es 14 Sekunden dauert, um die Daten zu leeren. **

Ramazan Polat
quelle
28
Weißt du ... Caching.
mg30rg
1
Haben Sie versucht, nach einem vollständigen Neustart des Computers zu wiederholen?
ADTC
1
Ich empfehle auch, eine andere Software wie CDBurnerXP zu verwenden, um eine ISO zu erstellen, und zu prüfen, ob Sie die gleichen Ergebnisse erhalten. Auch ich hoffe D:kein RAM Drive - unwahrscheinlich aber möglich.
ADTC
1
Versuchen Sie, den hierSync genannten Befehl auszuführen , nachdem Sie die ISO erstellt haben. Sehen Sie, wie lange dies dauert.
Barmar
1
@Barmar Ich habe Sync verwendet und Sie können das Ergebnis im letzten Absatz der Frage sehen. Danke.
Ramazan Polat

Antworten:

69

Mit 16 GB RAM haben Sie wahrscheinlich eine Menge davon für das Zwischenspeichern von Festplatten frei. Die ISO wurde höchstwahrscheinlich gerade vom Betriebssystem vollständig im RAM gepuffert. Es wird später auf die Festplatte geschrieben, aber die Anwendungen müssen nicht darauf warten.

Wyzard - Stop Harming Monica--
quelle
42
Ja, wenn Sie Ihren Computer ausschalten , ohne ein ordnungsgemäßes Herunterfahren zu tun, Daten , die vor kurzem von Anwendungen geschrieben wurden möglicherweise nicht tatsächlich auf der Festplatte noch nicht geschrieben worden.
Wyzard
3
Es dauert nicht lange, um Speicherplatz auf einem Dateisystem zu 'reservieren'. Ich habe dies für sehr große Dateien in C ++ (mehrere TB) getan, indem ich nach dem letzten Byte des Dateiversatzes zum Ursprung gesucht habe - sofortige Zuweisung von Dateien mit mehreren Terrabyte ; Das eigentliche Schreiben so vieler Informationen dauert eine Weile, aber unter Windows 7 werden Dateien im "freien" Speicher zwischengespeichert - zuvor gelesene oder geschriebene Dateien bleiben als Seiten erhalten, bis Speicherdruck besteht, um die Seiten unter der Voraussetzung freizugeben, dass die wahrscheinlichste Datei vorhanden ist gebraucht werden sollte zuletzt verwendet werden - dies ist neu in Windows 7.
Michael Stimson
10
Die Quelldateien wurden nicht gelesen ... sie sind bereits im RAM zwischengespeichert, da Sie kürzlich darauf zugegriffen haben. Starten Sie das System neu, um den Cache zu leeren, und versuchen Sie dann, die ISO-Datei zu erstellen. Sie wird dann langsamer.
Psusi
8
Microsoft intern läuten in. Mein Manager eine Menge auf NTFS gearbeitet, und sagte mir (IIRC) , dass es eine ganze dauern kann 16 Sekunden von der Zeit , die Sie anrufen , WriteFileum die Zeit , die Daten beginnt die Plattencontroller zu treffen. Während dieser Zeit beziehen sich Schreib- / Leseaufrufe auf die speicherinterne Version. Mit dem Write-Through-Flag können Sie den Windows-Cache umgehen, sind jedoch weiterhin dem Cache des Festplattencontrollers ausgeliefert.
Zneak
2
Wenn Sie Ihre Datei auf ein anderes Laufwerk kopieren, werden die richtigen Daten aus dem Cache kopiert, auch wenn sie noch nicht auf die Festplatte geschrieben wurden. Der gesamte Dateizugriff erfolgt über den Festplattencache des Betriebssystems, sodass das Betriebssystem eine korrekte und konsistente Ansicht der in das Dateisystem geschriebenen Daten anzeigen kann, auch wenn der eigentliche Schreibvorgang auf die zugrunde liegende physische Festplatte noch nicht abgeschlossen ist. (Und ich bin mir nicht sicher, was Sie mit dem Schreiben aller Nullen meinen - der Wert der Bytes hat keinen Einfluss darauf, wie schnell sie im RAM gespeichert werden können.)
Wyzard