Główna » jak » W jaki sposób system Windows określa ilość czasu potrzebną do wykonania działania z plikiem?

    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.