Hoe bepaalt Windows hoeveel tijd het kost om een actie uit te voeren met een bestand?
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 biedt enkele antwoorden op een nieuwsgierige, maar gefrustreerde, lezersvraag.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
Schermimplementatie Windows 8.1 bestandsoverdracht 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 met een bestand uit te voeren:
Ik wilde weten of er een vergelijking is die Windows gebruikt om te bepalen hoe lang het duurt om een actie uit te voeren met een bestand zoals: verwijderen, kopiëren, wissen of installeren.
Bijvoorbeeld als ik 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
Bijdragers van SuperUser Valmiky Arquissandas en Richard hebben het antwoord voor ons. Ten eerste, Valmiky Arquissandas:
Is het u opgevallen dat u in de eerste paar seconden meestal geen schattingen krijgt??
Dat komt omdat het gedurende de eerste paar seconden gewoon de handeling doet die het moet doen. Dan weet het, na een korte tijd hoeveel het al is gekopieerd / verwijderd / enz, en hoe lang het duurde. Dat geeft je de gemiddelde snelheid van de operatie.
Splits vervolgens de resterende bytes op de snelheid en u heeft 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?
Welnu, 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 de laatste minuut 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 je geïnteresseerd bent, laat deze vraag je zien hoe Windows en OSX de resterende tijd in de voortgangsbalk formatteren zodra het een idee heeft hoe lang het nog resteert.
Bij het inkorten van tijd-uitdrukkingen in voortgangsdialogen moeten deze naar boven of naar beneden worden afgerond?
Raymond Chen, een ontwikkelaar van het Windows-team bij Microsoft, bevestigt dit algoritme (zie Valmiky's antwoord hierboven) in een posting op zijn blog. Hij legt ook uit waarom het verkeerd kan zijn.
Waarom geeft het kopieervenster zulke vreselijke schattingen?
Heb je 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 hier de volledige discussiethread.