Я только что скопировал 200 ГБ с жесткого диска USB на мой основной диск. Было около 130000 файлов
После первых 4-5 минут я заметил, что:
- Для самых маленьких файлов скорость составляла около 100 файлов в секунду со скоростью около 600 КБ / с.
- И для больших файлов это было как 70 МБ / с
В начале окна изменили оценку с 1 часа на 5+ часов, затем обратно на 1 час и так далее. В конце, как и в 95%, он все еще менял оценку с 10 минут до 10+ часов. Так что вместо того, чтобы стать более точным, оно становилось все менее и менее точным.
Простые математические шоу:
130 000 файлов со скоростью 100 файлов в секунду = 22 минуты
200 000 МБ при 70 МБ в секунду = 47 минут
22 минуты - потеря времени на копирование файлов размером в несколько килобайт.
47 минут - время, необходимое для передачи фактических данных, если время поиска отсутствует.
Сумма 22 минут + 47 минут - это абсолютное максимальное время, которое это может занять.
Поэтому очевидно, что оценка должна быть где-то между 47 и 69 минутами.
Диалоговое окно показывает примерно 90%: «Я копирую несколько маленьких файлов со скоростью 1 МБ / с, данных больше на 20 ГБ, для завершения потребуется 5:30 часов.
Несколько секунд спустя: «Я копирую большой файл здесь, на скорости 70 Мбит / с это займет 4 минуты.
Что на самом деле видит человек из того же диалога: 120 000 файлов и 180 ГБ уже скопированы за 40 минут. Остальные 10000 файлов и 20 ГБ должны занять около 5 минут
Диалог дает достаточно информации, чтобы сделать расчет, который становится все более и более точным каждую секунду. Он знает скорость, с которой копируются небольшие файлы. Он знает, с какой скоростью копируются большие файлы. Он также знает, сколько файлов и сколько байтов осталось.
Так просто сделать такое предположение, просто установив верхний и нижний пределы.
Диалог показывает немного более корректные данные только в случае, когда большие файлы находятся перед маленькими файлами. Если это так, он начинается через 40 минут, а через 30 минут начинает копировать небольшие файлы и говорит: «Ну, мне нужно еще 20 минут».
Но когда маленькие файлы в начале и большие файлы в конце. Диалог фактически не заботится о том, какие «файлы в секунду» он передает мелким файлам. Это делает его вычисление так, как будто количество маленьких файлов равно бесконечности, и что они всегда будут маленькими.