To już w zasadzie mem: próbujemy skopiować pliki w Windowsie, a szacowany czas waha się od 19 sekund do 73 godzin. To kapryśne zachowanie nie jest niczym nowym – sięga czasów samego Windows 95. Więc dlaczego Windows tak źle oblicza szacowany czas operacji na plikach? Odpowiedź przychodzi od Dave’a Plummera, emerytowanego inżyniera Microsoftu, którego pamiętamy z portu gry Cadete Espacial, Menedżera zadań i oczywiście okna postępu...

Dlaczego Windows tak źle oblicza szacowany czas kopiowania plików?
Szacowany czas

Dave Plummer musi być jedną z niewielu osób, które mają poświęcony komiks na XKCD – możesz go przeczytać tutaj. Zamiast się obrażać lub złościć, postanowił wykorzystać okazję, aby wyjaśnić, dlaczego Windows tak słabo radzi sobie z obliczaniem szacowanego czasu podczas kopiowania plików, ponieważ był jednym z inżynierów pracujących nad tym elementem.

Prawdziwy problem polega na tym, że interfejs Windows (lub Windows Shell, jak się go nazywa) próbuje przewidzieć przyszłość na podstawie tego, co wydarzyło się do tego momentu. Dlatego gdy rozpoczynamy proces kopiowania, widzimy absurdalny szacowany czas, który automatycznie koryguje się po kilku sekundach i nigdy nie przestaje się zmieniać.

„Szacowany czas”, czyli dlaczego kryształowa kula nie działa

Dave używa jako przykładu hipotetycznej podróży do Nowego Jorku: podróż zaczyna się od spaceru do taksówki z prędkością 3,2 km/h, więc podróż zajmie około trzech miesięcy. Jednak gdy pasażer znajdzie się w samolocie lecącym z prędkością prawie 1000 km/h, szacowany czas spada do trzech godzin, a biorąc pod uwagę poprzednią prędkość, interfejs sugeruje, że pasażer dotrze do celu w zaledwie 30 lub 40 sekund po wyjściu z lotniska.

W tym miejscu Dave przytacza przypadek Google Maps, które dokonuje dobrych przewidywań nawet przy zmianach ruchu i pogody. Różnica polega na tym, że Google Maps może wykorzystać ogromną ilość danych historycznych, podczas gdy dla komputera są one nieistotne. Inny przykład: nawet jeśli tysiąc użytkowników pobiera te same 72,2 GB z Horizon Zero Dawn na Steam, ich warunki różnią się pod względem sprzętu, oprogramowania, prędkości połączenia, przeciążenia sieci i innych parametrów, co daje tysiąc różnych wyników.

Innymi słowy, Windows Shell może jedynie zakładać, że przyszłość będzie taka jak przeszłość, a wszystkie jego przewidywania opierają się na tym założeniu. Jeśli jednak nauczyliśmy się czegoś o komputerach i samym Windowsie, to to, że jego warunki w tle nieustannie się zmieniają. Od wydajności sieci po skutki wielozadaniowości, przez pełną pamięć podręczną SSD, program antywirusowy skanujący podejrzane pliki i inne działania w tle – interfejs Windows ma wszystko przeciw sobie. I niestety, paskom postępu nie wiedzie się dużo lepiej...