Является ли ожидаемое время, отображаемое во время копирования файла, лучшим временем или худшим временем? - PullRequest
1 голос
/ 19 июня 2009

Когда мы копируем файлы в Windows, мы получаем ожидаемое время завершения. Это лучшее время или худшее? Также вы предполагаете переменные среды?

Ответы [ 3 ]

1 голос
/ 19 июня 2009

Рэймонду Чену было что сказать об этом ...

0 голосов
/ 19 июня 2009

Я могу только догадываться, как рассчитывается время. Но многие часы, потраченные на просмотр окна копирования и на то, как меняется оценка времени, вот моя лучшая оценка:

  • Windows хранит список всех файлов для копирования
  • Отслеживает время и количество уже скопированных файлов.
  • Оставшееся время рассчитывается как:
    • Среднее время для файла = время, прошедшее до сих пор / файлы уже скопированы
    • Расчетное время, необходимое для всех файлов = среднее время на файл * количество файлов.

Расчет повторяется после истечения фиксированного промежутка времени (может быть, 5 секунд, может быть, 30?)

Вероятно, это немного сложнее, чем я объяснил выше, я полагаю, что размер файла, который копируется в настоящее время, и процент, который был скопирован, также входит в расчет. Это объясняет, почему мы видим оценку, когда копируется только один файл ;-).

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

Или другими словами: это был, пожалуй, самый быстрый способ (с точки зрения быстрого программирования, а также низкого использования процессора во время работы), который программист мог подумать о реализации указанной функции. Я не удивлюсь, если это будет закодировано в пятницу днем ​​...

0 голосов
/ 19 июня 2009

Если вы реализуете такую ​​функцию, пусть индикатор выполнения быстро вырастет до 90%. Тогда вы сможете выполнять реальную работу, независимо от того, сколько времени это займет. Опыт пользователя будет намного лучше, чем показ текущего прогресса; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...