Skip to content

W jaki sposób system Windows określa ilość czasu potrzebną na wykonanie akcji na pliku?

16 de lipiec de 2021
howdoeswindowsdeterminetheamountoftimeittakestoperformanactionwithafile00

Szacunki „pozostałego czasu” w systemie Windows wystarczają, aby czasami doprowadzić każdego 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 — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych z pytaniami i odpowiedziami.

Zrzut ekranu okna przesyłania plików w systemie Windows 8.1 dzięki uprzejmości jestem naprawdę sławny.

Pytanie

Czytnik SuperUser „im naprawdę famecore” chce wiedzieć, w jaki sposób system Windows określa czas potrzebny na wykonanie operacji na pliku:

Chciałem wiedzieć, czy istnieje równanie, którego system Windows używa do określenia, ile czasu zajmuje wykonanie akcji na pliku, takiej jak: usuwanie, kopiowanie, kasowanie lub instalowanie.

1626417239 225 W jaki sposob system Windows okresla ilosc czasu potrzebna na

Na przykład, gdy usuwam plik, a system Windows mówi Pozostały czas: 18 sekund, w jaki sposób oblicza tę liczbę i czego używa do jej obliczania?


Czy system Windows używa specjalnego równania do określenia czasu pozostałego do wykonania operacji, czy po prostu podaje „najlepsze przypuszczenie”?

Odpowiedź

Współtwórcy SuperUser Valmiky Arquissandas i Richard mają dla nas odpowiedź. Po pierwsze, Valmiky Arquissandas:

Czy zauważyłeś, że zwykle nie podaje żadnych szacunków w ciągu pierwszych kilku sekund?

To dlatego, że w ciągu pierwszych kilku sekund po prostu wykonuje operację, którą musi wykonać. Potem, po krótkim czasie, wie ile zostało już skopiowanych/usuniętych/itd, i jak długo to zajęło. To daje ci Średnia prędkość operacji.

Następnie podziel pozostałe bajty przez szybkość i masz czas potrzebny na ukończenie operacji.

To jest matematyka w szkole podstawowej. Jeśli chcesz przejechać 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/godz. 360 km podzielone przez 60 km/h daje szacunkowy czas na 6 godzin (lub 360 km / 1 km/min = 360 minut = 6 godzin). Ponieważ podróżowałeś już przez minutę, szacowany pozostały czas to 5 godzin i 59 minut.

Zastąp travel kopią, km bajtami, a to odpowiada na twoje pytanie.

Różne systemy mają różne sposoby szacowania czasu. Możesz zająć ostatnią chwilę, a szacunki mogą się bardzo różnić. Możesz też poświęcić cały czas, a jeśli prędkość rzeczywiście zmieni się na stałe, twoje szacunki mogą być dalekie od rzeczywistości. To, co opisałem, jest najprostszą metodą.

Następnie odpowiedź od Richarda:

Jeśli jesteś zainteresowany, to pytanie powie Ci, jak system Windows i OSX formatuje pozostały czas na pasku postępu, gdy tylko zorientuje się, ile czasu pozostało.

Czy skracając wyrażenia czasu w oknach dialogowych postępu, należy je zaokrąglać w górę czy w dół?

Raymond Chen, programista w zespole Windows w firmie Microsoft, potwierdza ten algorytm (zobacz odpowiedź Valmiky powyżej) we wpisie na swoim blogu. Wyjaśnia również, dlaczego może być źle.

Dlaczego okno kopiowania podaje tak okropne szacunki?

Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.

Czy ten post był pomocny?