2Sep

Como o Windows determina o tempo necessário para executar uma ação com um arquivo?

how-do-windows-determine-the-amount-of-time-it-takes-to-perform-a-action-with-a-file-00

As estimativas de "tempo restante" no Windows são suficientes para conduzir alguém louco às vezes, mas você já se perguntou como o Windows determina esses tempos? O super-usuário do usuário Q & A publica algumas respostas para uma pergunta curiosa e frustrada do leitor.

Today's Question &A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

tela de janela de transferência de arquivos do Windows 8.1, cortesia de im really famecore.

O questionário

SuperUser 'im really famecore' quer saber como o Windows determina a quantidade de tempo que levará para executar uma operação com um arquivo:

Eu queria saber se existe uma equação que o Windows usa para determinar quanto tempoleva para executar uma ação com um arquivo, como: excluindo, copiando, apagando ou instalando.

how-do-windows-determine-the-amount-of-time-it-takes-to-perform-a-action-with-a-file-01

Por exemplo, quando eu excluir um arquivo e o Windows diz Tempo restante: 18 segundos , como está calculando esse número e o que ele usa para calcular?

O Windows usa uma equação especial para determinar o tempo restante para executar uma operação ou apenas fornece uma estimativa de "melhor adivinhação"?

A resposta

SuperUser contribuintes Valmiky Arquissandas e Richard têm a resposta para nós. Primeiro, Valmiky Arquissandas:

Você notou que geralmente não lhe dá nenhuma estimativa durante os primeiros segundos?

Isso ocorre porque durante os primeiros segundos, ele apenas faz a operação que tem a fazer. Então, após um curto período de tempo, ele conhece quanto já copiou /deleted/ etc e quanto tempo levou .Isso lhe dá a velocidade média da operação.

Então, divida os bytes restantes pela velocidade, e você tem o tempo necessário para concluir a operação.

Esta é matemática da escola primária. Se você quiser viajar 360 km, e no final do primeiro minuto você percorreu 1 km, quanto tempo você levará você a chegar ao seu destino?

Bem, a velocidade é de 1 km / minuto, de modo que é de 60 km / hora.360 km divididos por 60 km / hora lhe dão um tempo estimado de 6 horas( ou 360 km / 1 km / minuto = 360 minutos = 6 horas).Uma vez que você já viajou por um minuto, então o tempo estimado deixado é de 5 horas e 59 minutos.

Substitua viajar com cópia, km com bytes e isso responde sua pergunta.

Diferentes sistemas têm diferentes maneiras de estimar o tempo. Você pode tomar o último minuto e as estimativas podem variar de forma selvagem. Ou você pode demorar a tempo inteiro, e se a velocidade realmente muda permanentemente, suas estimativas podem estar longe da realidade. O que descrevi é o método mais simples.

Seguido pela resposta de Richard:

Se você está interessado, esta pergunta diz como o Windows e o OSX formateiam o tempo deixado na barra de progresso quando tiver uma idéia de quanto tempo permanece.

Ao encurtar as caixas de diálogo de expressões de tempo em progresso, elas deveriam ser arredondadas para cima ou para baixo?

Raymond Chen, um desenvolvedor na equipe do Windows na Microsoft, confirma esse algoritmo( veja a resposta de Valmiky acima de ) em uma postagem em seu blog. Ele também explica por que isso pode estar errado.

Por que o diálogo de cópia dá estimativas tão horríveis?

Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.