W jaki sposób system Windows określa ilość czasu potrzebną do wykonania działania z plikiem?
Oszacowania "czasu pozostałego" w systemie Windows wystarczą, by czasami doprowadzić do szaleństwa, ale czy kiedykolwiek zastanawiałeś się, jak system Windows określa te czasy? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedzi na ciekawe, ale sfrustrowane pytanie czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.
Zrzut ekranowy okna transferu Windows 8.1 dzięki uprzejmości im really famecore.
Pytanie
Czytnik SuperUser "im really famecore" chce wiedzieć, w jaki sposób system Windows określa czas potrzebny na wykonanie operacji z plikiem:
Chciałem wiedzieć, czy istnieje równanie używane przez system Windows do określenia czasu potrzebnego na wykonanie działania z plikiem, takim jak: usuwanie, kopiowanie, usuwanie lub instalowanie.
Na przykład, gdy usuwam plik, a Windows mówi Pozostały czas: 18 sekund, w jaki sposób oblicza się tę liczbę i co wykorzystuje do jej obliczenia?
Czy system Windows używa specjalnego równania, aby określić czas pozostały do wykonania operacji, lub czy po prostu zapewnia oszacowanie "najlepszego wyniku"?
Odpowiedź
Współautorzy SuperUser Valmiky Arquissandas i Richard mają dla nas odpowiedź. Najpierw Valmiky Arquissandas:
Czy zauważyłeś, że zazwyczaj nie daje żadnych szacunków w ciągu pierwszych kilku sekund?
To dlatego, że przez pierwsze kilka sekund po prostu robi operację, którą musi wykonać. Potem, po krótkim czasie, wie ile już skopiowało / usunęło / etc, i jak długo to trwało. To daje ci Średnia prędkość operacji.
Następnie podziel pozostałe bajty o prędkość i masz czas potrzebny na dokończenie operacji.
To matematyka w szkole podstawowej. Jeśli chcesz podróżować 360 km, a pod koniec pierwszej minuty przejechałeś 1 km, ile czasu zajmie Ci dotarcie do celu?
Cóż, prędkość wynosi 1 km / minutę, czyli 60 km / h. 360 km podzielone przez 60 km / godzinę daje szacowany czas 6 godzin (lub 360 km / 1 km / minutę = 360 minut = 6 godzin). Ponieważ podróżowałeś już przez minutę, pozostały szacunkowy czas to 5 godzin i 59 minut.
Podróże zastępcze z kopią, km z bajtami, które odpowiadają na twoje pytanie.
Różne systemy mają różne sposoby szacowania czasu. Możesz wziąć w ostatniej chwili i szacunki mogą się znacznie różnić. Lub możesz wziąć cały czas, a jeśli prędkość rzeczywiście zmienia się na stałe, twoje prognozy mogą być dalekie od rzeczywistości. To, co opisałem, jest najprostszą metodą.
Poniżej odpowiedź Richarda:
Jeśli jesteś zainteresowany, to pytanie wyjaśnia, w jaki sposób system Windows i OSX formatuje czas pozostały na pasku postępu, gdy tylko ma pojęcie, ile czasu pozostało.
Podczas skracania wyrażeń czasu w okienkach postępu, należy je zaokrąglić w górę lub w dół?
Raymond Chen, programista zespołu Windows w firmie Microsoft, potwierdza ten algorytm (zobacz odpowiedź Valmiky powyżej) w poście na swoim blogu. Wyjaśnia również, dlaczego może być nie tak.
Dlaczego okno dialogowe kopiowania podaje tak straszne dane szacunkowe?
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.