Acabei de copiar 200 GB do disco rígido USB para a unidade principal. Havia cerca de 130000 arquivos
Após os primeiros 4-5 minutos, observei que:
- Para os arquivos mais pequenos, a taxa era de cerca de 100 arquivos por segundo a cerca de 600 KB / s
- E para arquivos grandes, era de 70MB / s
No início, as janelas alteravam a estimativa de 1 hora para mais de 5 horas, depois de volta para 1 hora e assim por diante. No final, como em 95%, ainda estava mudando a estimativa de 10 minutos para 10 horas ou mais. Então, em vez de se tornar mais preciso, estava se tornando cada vez menos preciso.
Shows simples de matemática:
130.000 arquivos a 100 arquivos por segundo = 22 minutos
200.000 MB a 70 MB por segundo = 47 minutos
22 minutos - perdidos no tempo de busca, copiando arquivos de poucos kilobytes de tamanho.
47 minutos - o tempo necessário para transferir os dados reais, se não houver tempo de busca.
A soma dos 22min + 47min é o tempo máximo absoluto que poderia levar.
Então, obviamente, a estimativa deve estar entre 47 e 69 minutos.
O que a caixa de diálogo mostra em cerca de 90%: "Estou copiando alguns arquivos pequenos a 1 MB / s, há 20 GB a mais de dados, e são necessárias 5:30 horas para concluir.
Poucos segundos depois: "Estou copiando um arquivo grande aqui, a 70mb / s, levará 4 minutos para ser concluído.
O que o ser humano vê na mesma caixa de diálogo: 120.000 arquivos e 180 GB já são copiados por 40 minutos. O restante de 10000 arquivos e 20 GB deve levar cerca de 5 minutos
A caixa de diálogo fornece informações suficientes para fazer cálculos cada vez mais precisos a cada segundo. Ele sabe a taxa na qual os arquivos pequenos são copiados. Ele sabe a que velocidade os arquivos grandes são copiados. Ele também sabe quantos arquivos e quantos bytes restam.
É tão simples fazer suposições tão precisas apenas definindo o limite superior e inferior.
A caixa de diálogo mostra dados um pouco mais corretos apenas no caso de os arquivos grandes estarem antes dos arquivos pequenos. Se for esse o caso, começa aos 40 minutos e, após 30 minutos, começa a copiar arquivos pequenos e diz "bem, preciso de mais 20 minutos".
Mas quando os arquivos pequenos no começo e os arquivos grandes estão no final. A caixa de diálogo não se importa com o que "arquivos por segundo" transfere os arquivos pequenos. Ele faz seu cálculo como se os arquivos pequenos contassem como infinito, e como se eles fossem para sempre pequenos.