La creazione di un file da 1,3 GB richiede solo 1 secondo. Come?


44

Ho una cartella che contiene oltre 200 file e ha dimensioni di oltre 1,3 GB:

inserisci qui la descrizione dell'immagine

Uso il software Gizmo Drive per creare un file .iso da quella cartella.

inserisci qui la descrizione dell'immagine

La cosa interessante è che bastano solo 1 o 2 secondi !

inserisci qui la descrizione dell'immagine

L'ho provato più volte. Ho anche provato a creare il file .iso su un altro volume. Ancora una volta ci vogliono solo 1 o 2 secondi.

Ho provato a montare il file .iso, tutto funziona bene. Ho pensato che potrebbe essere un file .iso che fa riferimento alla cartella di origine, quindi ho spostato la cartella di origine in un altro posto, ma senza fortuna. Anche la copia del file .iso prodotto richiede pochi minuti!

Quindi, come mai la creazione del file .iso richiede solo 1 secondo! Hai qualche spiegazione per questo?

Appunti

  1. Tutti i test condotti su un normale HDD, senza SSD.
  2. Utilizzando Windows 7 x64, hai una memoria da 16 Gig, CPU Core i5.

Ho usato sync.exe per scaricare tutti i dati del file system sul disco subito dopo la creazione del file .iso e sync.exe ha impiegato 14 secondi per scaricare i dati. Ciò significa che in realtà occorrono 14 secondi per creare il file .iso. Un rapido benchmark sul mio disco D: mostra che può scrivere lo stesso file .iso da un SSD al mio disco D: in 14 secondi e ciò conferma che la cartella di origine è nella RAM e impiega 14 secondi per scaricare i dati. **


28
Sai ... cache.
mg30rg

1
Hai provato a ripetere dopo un riavvio completo del computer?
ADTC

1
Suggerisco anche di provare un altro software come CDBurnerXP per creare un ISO e verificare se si ottengono gli stessi risultati. Spero anche che D:non sia un disco RAM - improbabile ma possibile.
ADTC

1
Prova a eseguire il Synccomando menzionato qui dopo aver creato l'ISO, vedi quanto tempo impiega.
Barmar

1
@Barmar Ho usato Sync e puoi vedere il risultato nell'ultimo paragrafo della domanda. Grazie.
Ramazan Polat,

Risposte:


69

Con 16 GB di RAM, probabilmente ne hai molto libero per la memorizzazione nella cache del disco. Molto probabilmente l'ISO è stato bufferizzato interamente nella RAM dal sistema operativo; verrà scritto su disco più tardi, ma le applicazioni non devono aspettare.


42
Sì, se si spegne il computer senza fare un arresto appropriata, i dati che è stato recentemente scritto da applicazioni potrebbero non essere in realtà stati scritti su disco ancora.
Wyzard

3
Non ci vuole molto per 'riservare' spazio su un file system, l'ho fatto per file molto grandi in C ++ (diversi TB) cercando l'ultimo byte del file offset dall'origine - allocazione istantanea di file multi terrabyte ; in realtà la scrittura di molte informazioni richiede un po 'di tempo, ma con i file di Windows 7 vengono memorizzati nella cache "memoria" libera - i file precedentemente letti o scritti verranno mantenuti come pagine fino a quando non vi è pressione sulla memoria per rilasciare le pagine con la premessa che il file più probabile essere necessario è stato il più recente da utilizzare - è una novità di Windows 7.
Michael Stimson,

10
Non ha letto i file di origine ... sono già memorizzati nella cache perché li hai acceduti di recente. Riavvia per cancellare la cache, quindi prova a creare l'iso e sarà più lento.
psusi,

8
Stagista Microsoft. Il mio manager ha lavorato molto su NTFS e mi ha detto (IIRC) che possono essere necessari sedici secondi interi dal momento in cui chiami WriteFileal momento in cui i dati iniziano a colpire il controller del disco. Durante quel periodo, le chiamate in lettura / scrittura faranno riferimento alla versione in memoria. Il flag write-through ti consentirà di ignorare la cache di Windows, ma sei ancora in balia della cache del controller del disco.
zneak,

2
Se copi il tuo file su un'altra unità, copierai i dati corretti dalla cache, anche se non sono ancora stati scritti sul disco. Tutto l'accesso ai file passa attraverso la cache del disco del sistema operativo, quindi il sistema operativo può presentare una visione corretta e coerente di ciò che è stato scritto nel filesystem, anche se la scrittura effettiva sul disco fisico sottostante non è ancora terminata. (E non sono sicuro di cosa significhi scrivere tutti gli zeri - il valore dei byte non influisce sulla
velocità con
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.