Почему удаляет огромное количество файлов (в среднем малый размер) дольше, чем один файл (огромный размер)

Скажем, у меня есть 2 случая удаления файлов:

  1. 150 000 файлов в среднем размером 30 КБ, общий размер – 4 ГБ
    -> закончено в течение часа
  2. Один файл размером 8 ГБ
    -> закончил быстро

Размер файла в случае 2 больше, чем в случае 1
Почему удаление на случай 1 заняло гораздо больше времени, чем случай 2?

  • Где хранятся элементы в системном трее?
  • В Windows есть визуальный индикатор для приложений, которые «работают как разные пользователи»?
  • Использование моего незанятого компьютера для чего-то полезного (seti @ home и т. П.)
  • Запуск программ путем ввода некоторых псевдонимов в Windows
  • Можно ли настроить часы Windows на 24-часовое время?
  • Что может заставить Windows случайным образом сбросить системное время на случайное время?
  • Как получить более 3 международных часов в Windows?
  • Как отключить раздражающее всплывающее окно после автоматического обновления установленных в Windows XP
  • Можно ли приостановить загрузку Windows Update?
  • Поиск приложения, которое прокручивает экраны нетбуков под управлением Windows
  • Разрешить права администратора для программы, работающей под ограниченной учетной записью
  • Инструмент для копирования текста из диалоговых окон?
  • 5 Solutions collect form web for “Почему удаляет огромное количество файлов (в среднем малый размер) дольше, чем один файл (огромный размер)”

    Поскольку кто-то попросил визуальное объяснение (грубо говоря и преувеличение):

    (Нажмите, чтобы увидеть полноразмерное изображение)

    Удаление файла

    Удаление каждого файла включает обновления метаданных каталога (то есть место, где хранится информация о файле) и (как правило) обновления для растрового изображения свободного пространства. Каждый из 150 000 файлов – это одна операция над метаданными, которые могут быть все вокруг диска.

    Удаление отдельного файла, независимо от его размера, является заменой на единую запись метаданных.

    Итак, в первом случае вы на самом деле выполняете 150 000 операций, чем во втором.

    Для случая 1 требуется много и много операций с каталогами. Каждый файл удаляется отдельно, что требует его удаления из каталога, в котором он находится.

    Для удаления 150 000 файлов требуется найти каждый файл в структуре каталогов, а затем удалить этот файл из каталога, поддерживая организацию структуры каталогов в этом процессе.

    Каждый файл сохраняется в другом разделе на вашем диске hdd. Файлы также могут быть разделены, поэтому больше файлов + больше фрагментов = больше времени. В более крупном файле будет меньше фрагментов, и жесткий диск будет тратить меньше времени на их поиск.

    Чтобы удалить файл, большинство операционных систем просто помечают его запись в качестве неиспользуемой, чтобы впоследствии быть заменены записью каталога в другой файл (в дополнение к маркировке занимаемого места на диске как бесплатного).

    На самом деле это не происходит через все данные в файле и удаляет его, поэтому работают утилиты undelete.

    Давайте будем гением компьютера.