La création d'un fichier de 1,3 Go ne prend qu'une seconde. Comment?

44

J'ai un dossier qui contient plus de 200 fichiers et a une taille de plus de 1,3 Go:

entrez la description de l'image ici

J'utilise le logiciel Gizmo Drive pour créer un fichier .iso à partir de ce dossier.

entrez la description de l'image ici

La chose intéressante est que cela ne prend que 1 ou 2 secondes !

entrez la description de l'image ici

J'ai essayé cela plusieurs fois. J'ai même essayé de créer le fichier .iso sur un autre volume. Encore une fois, cela ne prend que 1 ou 2 secondes.

J'ai essayé de monter le fichier .iso, tout fonctionne bien. J'ai pensé qu'il pourrait s'agir d'un fichier .iso référençant le dossier source, puis j'ai déplacé le dossier source vers un autre emplacement, mais sans succès. Même la copie du fichier .iso produit prend quelques minutes!

Alors, comment se fait-il que créer le fichier .iso ne prenne que 1 seconde! Avez-vous une explication à cela?

Remarques

  1. Tous les tests effectués sur un disque dur ordinaire, pas de SSD.
  2. Sous Windows 7 x64, utilisez une mémoire de 16 Go et un processeur Core i5.

J'ai utilisé sync.exe pour vider toutes les données du système de fichiers sur le disque juste après la création du fichier .iso et il a fallu 14 secondes à sync.exe pour vider les données. Cela signifie qu’il faut 14 secondes pour créer le fichier .iso. Un repère rapide sur mon lecteur D: indique qu'il peut écrire le même fichier .iso d'un disque SSD sur mon lecteur D: en 14 secondes et qu'il confirme que le dossier source est dans la RAM et qu'il faut 14 secondes pour vider les données. **

Ramazan Polat
la source
28
Vous savez ... la mise en cache.
mg30rg
1
Avez-vous essayé de répéter après un redémarrage complet de l'ordinateur?
ADTC
1
Je suggère également d'essayer un autre logiciel comme CDBurnerXP pour créer un ISO et de vérifier si vous obtenez le même résultat. De plus, j'espère que ce D:n'est pas un lecteur de RAM - improbable mais possible.
ADTC
1
Essayez d’exécuter la Synccommande mentionnée ici après avoir créé l’ISO, voyez combien de temps cela prend.
Barmar
1
@Barmar J'ai utilisé Sync et vous pouvez voir le résultat dans le dernier paragraphe de la question. Merci.
Ramazan Polat

Réponses:

69

Avec 16 Go de RAM, vous en avez probablement beaucoup libre pour la mise en cache de disque. L'ISO a probablement été entièrement tamponné dans la mémoire RAM par le système d'exploitation; il sera écrit sur le disque plus tard, mais les applications ne doivent pas attendre.

Wyzard - Arrête de blesser Monica--
la source
42
Oui, si vous éteignez votre ordinateur sans faire un arrêt correct, les données récemment écrites par les applications peuvent ne pas avoir fait encore été écrites sur le disque.
Wyzard --Stop Harming Monica--
3
Cela ne prend pas longtemps de "réserver" de l'espace sur un système de fichiers, je l'ai fait pour de très gros fichiers en C ++ (plusieurs To) en recherchant le dernier octet du fichier décalé par rapport à l'origine - allocation instantanée de fichiers multi-terrabyte ; En réalité, l'écriture de nombreuses informations prend un peu de temps, mais avec Windows 7, les fichiers sont mis en cache dans la mémoire "libre" - les fichiers précédemment lus ou écrits sont conservés sous forme de pages jusqu'à ce qu'il y ait une pression mémoire pour libérer les pages sous le principe que le fichier le plus susceptible be need était le plus récent à être utilisé - ceci est nouveau dans Windows 7.
Michael Stimson
10
Il n'a pas lu les fichiers source ... ils sont déjà mis en cache dans la RAM car vous y avez accédé récemment. Redémarrez pour effacer le cache, puis essayez de créer l'iso et ce sera plus lent.
psusi
8
Un stagiaire de Microsoft intervient. Mon responsable a beaucoup travaillé sur NTFS et m'a dit (IIRC) que cela peut prendre seize secondes à partir du moment où vous appelez WriteFilejusqu'au moment où les données commencent à atteindre le contrôleur de disque. Pendant ce temps, les appels en lecture / écriture font référence à la version en mémoire. L'indicateur d'écriture directe vous permet de contourner le cache Windows, mais vous êtes toujours à la merci du cache du contrôleur de disque.
Samedi
2
Si vous copiez votre fichier sur un autre lecteur, les données correctes du cache seront copiées, même si elles n'ont pas encore été écrites sur le disque. Tous les accès aux fichiers passent par le cache disque du système d'exploitation. Le système d'exploitation peut ainsi afficher une vue correcte et cohérente de ce qui a été écrit sur le système de fichiers, même si l'écriture réelle sur le disque physique sous-jacent n'est pas encore terminée. (Et je ne sais pas ce que vous entendez par écriture de zéros - la valeur des octets n'a aucune incidence sur la rapidité avec laquelle ils peuvent être stockés dans la RAM.)
Wyzard --Stop Harming Monica--