Pourquoi la vitesse de suppression dans Windows est-elle souvent périodique?

13

Juste par intérêt, quelle est la raison pour laquelle les délais de suppression sont souvent périodiques? Sous Windows 8, la fenêtre de dialogue de suppression affiche la vitesse de suppression dans un diagramme.

Fenêtre de dialogue de suppression de Windows 8

S'il n'y a aucune raison, bien sûr, ce serait aussi une réponse.

danijar
la source
4
vous avez 100 000 fichiers dans le dossier, ils sont tous de tailles différentes, la mesure est Éléments par seconde, donc plus les éléments sont petits, plus les éléments seront supprimés rapidement.
Ramhound
3
@Ramhound, Il ne semble pas que cela soit lié à la variation de la taille du fichier. La nature sinusoïdale du graphique est trop régulière.
GaTechThomas
1
Windows ne met pas à zéro les blocs occupés lors de la suppression de fichiers. La suppression d'un gros fichier ne devrait pas prendre plus de temps que la suppression d'un petit. Le coupable est probablement le nombre d'objets. Sont-ils dans de nombreux sous-dossiers? Il y a un surcoût important lorsque vous traitez de nombreux fichiers (grands ou petits), que vous supprimiez, copiez ou déplacez.
abstrask
2
Mise en cache d'une sorte? Un tas de demandes de suppression sont vidées aux sommets du graphique?
Jesse Slicer
1
Je l'ai vu aussi, parfois avec des vagues beaucoup plus grandes.
Moshe Katz

Réponses:

5

Il y a quelques raisons:

  1. Continuité des données: NTFS est implémenté là où il écrit séquentiellement sur un disque, donc si vous éditez un fichier - NTFS peut avoir à stocker les modifications dans un secteur non contigu sur votre disque dur. Cela signifie que pour supprimer un fichier, il peut être nécessaire de passer du secteur 2 au secteur 100 000 (hypothétiquement, bien sûr), puis de revenir pour terminer le fichier. Ensuite, il trouve le secteur suivant du fichier suivant à supprimer et pourrait à nouveau répéter ce processus.

  2. Types de données: Supposons que vous supprimez un dossier dans temp, il peut contenir de gros fichiers et de petits fichiers. Certains d'entre eux seront rapides à traiter et d'autres peuvent être plus lents (que ce soit la taille ou la complexité des données - c'est-à-dire combien de secteurs doivent être traités pour terminer un "élément")

  3. @Ramhound a mentionné l'élément "éléments par seconde", qui semble être confirmé par votre boîte de dialogue de suppression ( Speed: 1.082 items/s). La suppression d'un fichier volumineux, d'un fichier non contigu ou d'un petit fichier joue donc tous un rôle dans le nombre d'éléments par seconde.

  4. Hiérarchisation du CPU: Ce truc se fait en cycles d'horloge, il est donc probable que votre CPU exécute d'autres processus pendant le cycle et cela peut affecter la vitesse (c'est une conjecture de ma part)

nerdwaller
la source
3
Windows / NTFS ne remet pas à zéro les blocs occupés lors de la suppression de fichiers. Grand ou petit, contigu ou non contigu n'a pas d'importance.
abstrask
@abstrask - Je n'ai pas dit que cela ne faisait rien. Cependant, il doit sauter le $BitMap(fichier) dans chaque cluster et le marquer comme libre d'utilisation (c'est-à-dire "supprimé"). L'ouverture et la modification d'un fichier (à n'importe quel niveau) prennent des ressources et le fait de devoir y sauter prend des frais généraux et peut absolument vous ralentir. Si le fichier est volumineux - il faut plus de temps pour le modifier, si le fichier n'est pas contigu - il faut un peu plus de temps pour le rechercher.
nerdwaller
1
Chaque cluster est représenté par un bit dans le fichier $ Bitmap. En supposant que la taille d'unité d'allocation par défaut est de 4 Ko, la référence d'allocation pour un fichier de 100 Ko représente environ 3 octets dans le fichier $ Bitmap. Un gros fichier, disons 1 Go, occupe 32 Ko dans le fichier $ Bitmap. Même si $ Bitmap était fortement fragmenté, le disque dur n'aurait qu'à sauter entre 32 Ko / 4 Ko / cluster = 8 clusters, pour marquer les clusters du fichier de 1 Go à supprimer. Oui, plus de bits doivent être retournés pour supprimer un fichier volumineux, mais il est difficilement mesurable et ne provoquerait certainement pas les bosses visuelles plus grandes montrées dans la capture d'écran.
abstrask