Mengapa kecepatan penghapusan di Windows sering berkala?

13

Hanya karena ketertarikan, apa alasan penghapusan kali menjadi berkala? Di Windows 8, jendela dialog penghapusan menunjukkan kecepatan penghapusan dalam diagram.

Jendela dialog penghapusan Windows 8

Jika tidak ada alasan, tentu itu akan menjadi jawaban juga.

danijar
sumber
4
Anda memiliki 100.000 file dalam folder, semuanya berukuran berbeda, pengukurannya adalah Item per detik sehingga semakin kecil item, semakin cepat item akan dihapus.
Ramhound
3
@Ramhound, Sepertinya ini tidak terkait dengan ukuran file yang bervariasi. Sifat sinusoidal dari grafik terlalu teratur.
GaTechThomas
1
Windows tidak nol blok yang ditempati saat menghapus file. Menghapus file besar seharusnya tidak lebih lama daripada menghapus file kecil. Pelakunya lebih cenderung jumlah item. Apakah mereka ada di banyak subfolder? Ada overhead yang besar, ketika berurusan dengan banyak file (besar atau kecil) - terlepas dari apakah Anda menghapus, menyalin, atau memindahkan.
abstrask
2
Caching semacam itu? Sekumpulan permintaan hapus memerah pada puncak grafik?
Jesse Slicer
1
Saya juga pernah melihat ini, kadang-kadang dengan gelombang yang jauh lebih besar.
Moshe Katz

Jawaban:

5

Ada beberapa alasan:

  1. Data Continuity: NTFS diimplementasikan di mana ia menulis secara berurutan di disk, jadi jika Anda mengedit file - NTFS mungkin harus menyimpan perubahan di sektor yang tidak bersebelahan pada hard disk Anda. Itu berarti bahwa untuk menghapus file, mungkin perlu melompat dari sektor 2 ke sektor 100.000 (secara hipotesis, tentu saja) dan kemudian kembali untuk menyelesaikan file. Kemudian ia menemukan sektor berikutnya dari file berikutnya untuk dihapus dan lagi dapat mengulangi proses itu.

  2. Jenis data: Katakanlah Anda menghapus folder temp, mungkin berisi file besar dan file kecil. Beberapa di antaranya akan cepat diproses dan yang lain mungkin lebih lambat (apakah itu ukuran atau kompleksitas data - yaitu berapa banyak sektor yang perlu diproses untuk menyelesaikan "item")

  3. @Ramhound menyebutkan bagian "item per detik", yang tampaknya dikonfirmasi oleh dialog penghapusan Anda ( Speed: 1.082 items/s). Jadi, menghapus file besar, file non-berdekatan, atau file kecil semua memainkan peran dalam jumlah item per detik.

  4. Prioritas CPU: Hal ini dilakukan dalam siklus clock, sehingga kemungkinan CPU Anda menjalankan proses lain selama siklus dan yang mungkin mempengaruhi kecepatan (ini hanya dugaan saya)

nerdwaller
sumber
3
Windows / NTFS tidak menghapus blok yang ditempati saat menghapus file. Besar atau kecil, bersebelahan atau tidak bersebelahan tidak masalah.
abstrask
@ abstrask - Saya tidak mengatakan itu nol apa pun. Namun, ia harus melompati $BitMap(file) ke setiap cluster dan menandainya sebagai bebas untuk digunakan (yaitu "dihapus"). Membuka dan mengedit file (pada level apa pun) memang membutuhkan sumber daya dan harus melompat-lompat di dalamnya mengambil overhead dan benar-benar dapat memperlambat Anda. Jika file berukuran besar - perlu waktu lebih lama untuk diedit, jika file tersebut tidak berdekatan - dibutuhkan waktu lebih lama untuk dicari.
nerdwaller
1
Setiap cluster diwakili oleh sedikit dalam file $ Bitmap. Dengan asumsi ukuran unit alokasi standar 4 KB, referensi alokasi untuk file 100 KB menyumbang sekitar 3 byte dalam file $ Bitmap. File besar, katakanlah 1 GB, membutuhkan 32 KB dalam file $ Bitmap. Bahkan jika $ Bitmap sangat terfragmentasi, hard drive hanya perlu melewati antara 32 KB / 4 KB / cluster = 8 cluster, untuk menandai cluster file 1 GB untuk dihapus. Ya, lebih banyak bit harus dibalik untuk menghapus file besar, tapi itu hampir tidak terukur dan pasti tidak akan menyebabkan benjolan visual yang besar ditunjukkan pada tangkapan layar.
abstrask