If-Koubou

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? (Jak)

Oszacowanie czasu pozostające w systemie Windows wystarcza, 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, społecznościowego forum z pytaniami i odpowiedziami.

Zrzut ekranu okna transferu plików 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 się dowiedzieć, czy istnieje równanie, którego system Windows używa do określenia czasu potrzebnego na wykonanie czynności 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, czy też zapewnia jedynie oszacowanie "najlepszego odgadnięcia"?

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ść, a ty masz czas, aby wykonać operację.

To jest 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óż zastępcza z kopią, km z bajtami, która odpowiada na twoje pytanie.

Różne systemy mają różne sposoby szacowania czasu. Możesz wziąć ostatnią minutę, a 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.

Czy podczas skracania wyrażeń czasowych w okienkach postępu należy je zaokrąglać 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.