Perché la velocità di eliminazione in Windows è periodica?


13

Solo per interesse, qual è la ragione per cui i tempi di cancellazione devono essere periodici spesso? In Windows 8, la finestra di dialogo di eliminazione mostra la velocità di eliminazione in un diagramma.

Finestra di dialogo per l'eliminazione di Windows 8

Se non c'è motivo, ovviamente anche questa sarebbe una risposta.


4
hai 100.000 file nella cartella, sono tutte di dimensioni diverse, la misura è Articoli al secondo, quindi più piccoli sono gli articoli più velocemente gli articoli verranno eliminati.
Ramhound,

3
@Ramhound, non sembra che ciò sia correlato alla dimensione del file variabile. La natura sinusoidale del grafico è troppo regolare.
GaTechThomas

1
Windows non azzera i blocchi occupati durante l'eliminazione dei file. L'eliminazione di un file di grandi dimensioni non dovrebbe richiedere più tempo rispetto all'eliminazione di un file di piccole dimensioni. Il colpevole è più probabilmente il semplice numero di articoli. Sono in molte sottocartelle? C'è un notevole sovraccarico, quando si ha a che fare con molti file (grandi o piccoli), indipendentemente dal fatto che si stia eliminando, copiando o spostando.
abstrask

2
La memorizzazione nella cache di qualche tipo? Mazzo di richieste di eliminazione vengono scaricate ai picchi del grafico?
Jesse Slicer,

1
Ho visto anche questo, a volte con onde molto più grandi.
Moshe Katz,

Risposte:


5

Ci sono alcuni motivi:

  1. Continuità dei dati: NTFS è implementato dove scrive in sequenza su un disco, quindi se si modifica un file - NTFS potrebbe dover archiviare le modifiche in un settore non contiguo sul disco rigido. Ciò significa che per eliminare un file, potrebbe essere necessario passare dal settore 2 al settore 100.000 (ipoteticamente, ovviamente) e quindi tornare indietro per terminare il file. Quindi trova il settore successivo del file successivo da eliminare e può ripetere nuovamente tale processo.

  2. Tipi di dati: supponiamo che tu stia eliminando una cartella temp, potrebbe contenere file di grandi dimensioni e piccoli file. Alcuni di questi saranno veloci da elaborare e altri potrebbero essere più lenti (che si tratti di dimensioni o complessità dei dati, ad esempio quanti settori devono essere elaborati per completare un "elemento")

  3. @Ramhound ha menzionato il pezzo "articoli al secondo", che sembra essere confermato dalla finestra di dialogo di eliminazione ( Speed: 1.082 items/s). Pertanto, l'eliminazione di un file enorme, di un file non contiguo o di un file di piccole dimensioni gioca un ruolo nel numero di elementi al secondo.

  4. Priorità della CPU: questa operazione viene eseguita in cicli di clock, quindi è probabile che la CPU stia eseguendo altri processi durante il ciclo e ciò possa influire sulla velocità (questa è una congettura da parte mia)


3
Windows / NTFS non azzera i blocchi occupati durante l'eliminazione dei file. Non importa se grande o piccolo, contiguo o non contiguo.
abstrask

@abstrask - Non ho detto che azzera nulla. Tuttavia, deve saltare il $BitMap(file) a ciascun cluster e contrassegnarlo come libero da usare (cioè "eliminato"). L'apertura e la modifica di un file (a qualsiasi livello) richiede risorse e la necessità di saltarci sopra comporta un sovraccarico e può assolutamente rallentarti. Se il file è di grandi dimensioni, la modifica richiede più tempo, se il file non è contiguo, la ricerca richiede un po 'più di tempo.
nerdwaller,

1
Ogni cluster è rappresentato da un bit nel file $ Bitmap. Supponendo che la dimensione dell'unità di allocazione predefinita sia di 4 KB, il riferimento di allocazione per un file di 100 KB rappresenta circa 3 byte nel file $ Bitmap. Un file di grandi dimensioni, ad esempio 1 GB, occupa 32 KB nel file $ Bitmap. Anche se $ Bitmap fosse fortemente frammentato, il disco rigido dovrebbe solo saltare tra 32 KB / 4 KB / cluster = 8 cluster, per contrassegnare i cluster del file da 1 GB per l'eliminazione. Sì, è necessario girare più bit per eliminare un file di grandi dimensioni, ma è difficilmente misurabile e sicuramente non causerebbe i grandi dossi visivi mostrati nello screenshot.
abstrask
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.