É basicamente um meme a esta altura: tentamos copiar arquivos no Windows, e o tempo estimado oscila entre 19 segundos e 73 horas. Esse comportamento errático não é novidade, e remonta à época do próprio Windows 95. Então, por que o Windows calcula tão mal o tempo estimado para suas operações com arquivos? A resposta chega por meio de Dave Plummer, engenheiro aposentado da Microsoft, a quem lembramos pelo port do Cadete Espacial, pelo Gerenciador de Tarefas e, claro, a caixa de diálogo de progresso…
Dave Plummer deve ser uma das poucas pessoas com um quadrinho dedicado no XKCD, que você pode ler aqui. Mas em vez de se ofender ou ficar bravo, ele decidiu aproveitar a oportunidade para explicar por que o Windows faz um trabalho tão ruim ao calcular o tempo estimado durante a cópia de arquivos, já que foi um dos engenheiros que trabalhou nesse recurso.
O verdadeiro problema é que a interface do Windows (ou Windows Shell, se preferir chamar assim) tenta fazer uma previsão sobre o futuro com base no que já aconteceu até aquele ponto. Por isso, quando iniciamos um processo de cópia, notamos um tempo estimado ridículo que se corrige automaticamente em poucos segundos e nunca para de mudar.
«Tempo estimado», ou por que a bola de cristal não funciona
Dave usa como exemplo uma viagem hipotética a Nova York: a viagem começa com uma caminhada até o táxi, a uma velocidade de 3,2 quilômetros por hora, então a viagem levará cerca de três meses. No entanto, uma vez que o passageiro está no avião voando a quase 1.000 quilômetros por hora, o tempo estimado cai para três horas, e ao tomar como referência essa velocidade anterior, a interface sugere que o passageiro levará apenas 30 ou 40 segundos para chegar ao destino depois de sair do aeroporto.
Nesse ponto, Dave cita o caso do Google Maps, que faz boas previsões mesmo com mudanças no tráfego e no clima. A diferença é que o Google Maps pode aproveitar uma enorme quantidade de dados históricos, enquanto para o computador isso é irrelevante. Outro exemplo: mesmo que mil usuários baixem os mesmos 72,2 GB de Horizon Zero Dawn no Steam, as condições de todos eles variam em hardware, software, velocidade de conexão, congestionamento de rede e outros parâmetros, gerando mil resultados diferentes.
Em outras palavras, o Windows Shell só pode assumir que o futuro será como o passado, e todas as suas previsões se desenvolvem a partir desse detalhe. Mas se aprendemos algo sobre computadores e sobre o próprio Windows, é que as condições de fundo mudam constantemente. Desde o desempenho da rede até os efeitos do multitarefa, passando pelo cache cheio do SSD, o antivírus verificando arquivos suspeitos e outras atividades em segundo plano, a interface do Windows tem tudo contra si. E infelizmente, as barras de progresso não vão muito melhor...