C'est devenu un véritable mème : on essaie de copier des fichiers sous Windows et le temps estimé oscille entre 19 secondes et 73 heures. Ce comportement erratique n'est pas nouveau et remonte à l'époque de Windows 95. Alors, pourquoi Windows calcule-t-il si mal le temps estimé pour ses opérations sur les fichiers ? La réponse vient de Dave Plummer, ingénieur retraité de Microsoft, que l'on se souvient pour le portage du Space Cadet, le Gestionnaire des tâches, et bien sûr, la boîte de dialogue de progression…

Pourquoi Windows calcule-t-il si mal le temps estimé pour copier des fichiers ?
Temps estimé

Dave Plummer doit être l'une des rares personnes à avoir un comic dédié dans XKCD, que vous pouvez lire ici. Mais au lieu de s'offenser ou de se fâcher, il a décidé de profiter de l'occasion pour expliquer pourquoi Windows fait un si mauvais travail en calculant le temps estimé lors de la copie de fichiers, puisqu'il a été l'un des ingénieurs qui a travaillé sur cet élément.

Le vrai problème est que l'interface de Windows (ou Windows Shell si vous préférez) essaie de faire une prédiction sur le futur en se basant sur ce qui s'est déjà passé jusqu'à ce point. C'est pourquoi, lorsque nous démarrons un processus de copie, nous remarquons un temps estimé ridicule qui se corrige automatiquement après quelques secondes, et qui ne cesse de changer.

« Temps estimé », ou pourquoi la boule de cristal ne fonctionne pas

Dave utilise comme exemple un voyage hypothétique à New York : le voyage commence par une marche jusqu'au taxi, à une vitesse de 3,2 kilomètres par heure, donc le voyage prendra environ trois mois. Cependant, une fois que le passager est dans l'avion volant à près de 1 000 kilomètres par heure, le temps estimé tombe à trois heures, et en prenant comme référence cette vitesse précédente, l'interface suggère que le passager mettra à peine 30 à 40 secondes pour arriver à destination une fois sorti de l'aéroport.

À ce stade, Dave cite le cas de Google Maps, qui fait de bonnes prédictions même avec des changements de trafic et de météo. La différence est que Google Maps peut exploiter une énorme quantité de données historiques, alors que pour l'ordinateur, elles sont sans importance. Autre exemple : même si mille utilisateurs téléchargent les mêmes 72,2 Go de Horizon Zero Dawn sur Steam, leurs conditions varient en termes de matériel, de logiciel, de vitesse de connexion, de congestion du réseau et d'autres paramètres, générant mille résultats différents.

En d'autres termes, Windows Shell ne peut que supposer que le futur sera comme le passé, et toutes ses prédictions se développent à partir de ce détail, mais si nous avons appris quelque chose sur les ordinateurs et Windows lui-même, c'est que leurs conditions de fond se modifient constamment. De la performance du réseau aux effets du multitâche, en passant par le cache plein du SSD, l'antivirus qui vérifie les fichiers suspects et d'autres activités en arrière-plan, l'interface de Windows a tout contre elle. Et malheureusement, les barres de progression ne s'en sortent pas beaucoup mieux...