2Sep

Hoe bepaalt Windows hoeveel tijd het kost om een ​​actie uit te voeren met een bestand?

how-does-windows-bepaling the amount of time-it takes te presteren-een lange-met-een-file-00

De 'resterende tijd'-schattingen op Windows zijn voldoende om iemand af en toe gek te maken, maar heb je je ooit afgevraagd hoe Windows die tijden bepaalt? De SuperUser Q & A post van vandaag heeft enkele antwoorden voor een nieuwsgierige, maar gefrustreerde, lezersvraag.

De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.

Windows 8.1 bestandsoverdracht venster screenshot met dank aan im really famecore.

De vraag

SuperUser-lezer 'im really famecore' wil weten hoe Windows bepaalt hoe lang het duurt om een ​​bewerking uit te voeren met een bestand:

Ik wilde weten of er een vergelijking is die Windows gebruikt om te bepalen hoe lang het duurttakes om een ​​actie uit te voeren met een bestand zoals: verwijderen, kopiëren, wissen of installeren.

how-doet-windows-bepalen-the-amount-of-time-it-takes-to-uitvoeren van-een-action-with-a-file-01

Wanneer ik bijvoorbeeld een bestand verwijder en Windows zegt Resterende tijd: 18 seconden , hoe wordt dit getal berekend en wat gebruikt het om het te berekenen?

Gebruikt Windows een speciale vergelijking om de resterende tijd voor het uitvoeren van een bewerking te bepalen of geeft het alleen een schatting voor 'beste schatting'?

Het antwoord

SuperUser-bijdragers Valmiky Arquissandas en Richard hebben het antwoord voor ons. Ten eerste, Valmiky Arquissandas:

Is het je opgevallen dat je in de eerste paar seconden meestal geen schattingen krijgt?

Dat komt omdat het tijdens de eerste paar seconden gewoon de handeling doet die het moet doen. Na een korte tijd kent het hoeveel het /deleted/ enz. al heeft gekopieerd en hoelang het duurde. Dat geeft u de -gemiddelde snelheid van de bewerking.

Verdeel vervolgens de resterende bytes door de snelheid en je hebt de tijd die nodig is om de bewerking te voltooien.

Dit is wiskunde op de basisschool. Als u 360 km wilt reizen en aan het einde van de eerste minuut 1 km hebt afgelegd, hoe lang duurt het voordat u uw bestemming bereikt?

Nou, de snelheid is 1 km / minuut, dus dat is 60 km / uur.360 km gedeeld door 60 km / uur geeft u een geschatte tijd van 6 uur( of 360 km / 1 km / minuut = 360 minuten = 6 uur).Omdat je al een minuut hebt gereisd, is de geschatte resterende tijd 5 uur en 59 minuten.

Vervang reis met kopie, km met bytes en dat beantwoordt uw vraag.

Verschillende systemen hebben verschillende manieren om tijd te schatten. U kunt op het laatste moment nemen en de schattingen kunnen enorm variëren. Of u kunt de volledige tijd nemen, en als de snelheid eigenlijk permanent verandert, zijn uw schattingen mogelijk ver verwijderd van de realiteit. Wat ik heb beschreven, is de eenvoudigste methode.

Gevolgd door het antwoord van Richard:

Als u geïnteresseerd bent, geeft deze vraag aan hoe Windows en OSX de resterende tijd in de voortgangsbalk indelen, zodra deze een idee heeft hoe lang het nog resteert.

Moeten de kopieën omhoog of omlaag worden afgerond als de tijdsperioden voor uitdrukkingen in uitvoering worden verkort?

Raymond Chen, een ontwikkelaar van het Windows-team bij Microsoft, bevestigt dit algoritme( , zie Valmiky's antwoord boven ) in een bericht op zijn blog. Hij legt ook uit waarom het verkeerd kan zijn.

Waarom geeft het kopieervenster zulke vreselijke schattingen?

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.