Find den samlede udførelsestid for en kommando eller et program i Windows - Winhelponline

Find Total Execution Time Command

Det kan være en god idé at finde den samlede udførelsestid for en kommando eller et program, du kører. For at optimere et script eller program er det vigtigt at vide, hvor lang tid det tager for det at fuldføre udførelsen. Dette hjælper dig med at sammenligne den samlede driftstid for Program A vs. Program B og optimere din kode, især hvis du er en professionel softwareudvikler, analytiker eller softwaretester.



Måling af den samlede udførelsestid for et script eller en proces er et af de mest kritiske aspekter af ydeevneoptimering. Denne artikel diskuterer forskellige metoder til at finde den samlede udførelsestid for et program, script eller kommando i Windows.





Find den samlede udførelsestid for et program eller en kommando

Brug af PowerShell

PowerShell inkluderer den indbyggede Mål-kommando cmdlet, der hjælper dig med at måle den tid, det tager at køre scriptblokke, cmdlets eller endda eksterne programmer. Her er en prøve PowerShell-kommandolinje, der måler de tidspunkter, der tager for ping google.com kommandolinje til slut:

Mål-kommando ping google.com

Efter output fra ping-kommandoen vil du se følgende statistikker nederst.



Dage: 0 Timer: 0 Minutter: 0 Sekunder: 3 Millisekunder: 66 Flåter: 30660017 I alt Dage: 3.5486130787037E-05 I alt Timer: 0.000851667138888889 I alt Minutter: 0.0511000283333333 Total Sekunder: 3.0660017 I alt Millisekunder: 3066.0017

måle den samlede udførelsestid for en kommando eller et program

Læs mere om Mål-objekt hos Microsoft Docs.

Kommandoen tog 3,06 sekunder at fuldføre. Det Ud-vært argument, hvis PowerShell udelades, skjuler output (af Ping kommando) i konsollen - du vil kun se udførelsesstatistikkerne.

Hvis du har en lang kommandolinje, eller hvis du har brug for at køre flere kommandoer, kan du placere dem i en Windows-batchfil og derefter køre den ved hjælp af PowerShell. Her er et eksempel:

Mål-kommando ud-vært
RELATEREDE: Find mængden af ​​ord, tegn og linjer i en tekstfil ved hjælp af PowerShell

Brug af VBScript

Her er et simpelt VBScript, der beregner den samlede udførelsestid for en kommandolinie-, program- eller batchfil.

Indstil WshShell = WScript.CreateObject ('WScript.Shell') sCmd = chr (34) & 'D:  Batch Files  Backup.bat' & chr (34) dtmStartTime = Timer Return = WshShell.Run (sCmd, 1, true ) Wscript.Echo 'Opgaven afsluttet i' & Round (Timer - dtmStartTime, 2) & 'seconds.'
  1. Kopier ovenstående kode til Notesblok
  2. Gem filen som exec_timer.vbs .
  3. I 2. linje, der starter med sCmd , rediger det program, du vil køre - dvs. udskift 'D: Batch Files Backup.bat' i ovenstående eksempel med den applikation eller batch, du vil køre.
  4. Gem filen, og luk Notesblok.
  5. Dobbeltklik på VBScript-filen for at køre den.

VBScript starter batchfilen, kommandoen eller programmet. Når kørslen er afsluttet, vises den samlede udførelsestid (i sekunder.)

måle den samlede udførelsestid for en kommando eller et program


Brug TimeIt.exe fra Resource Kit Tools

TimeIt.exe er en del af Windows Server 2003 Ressource Kit ( spejllink ) -værktøj, der viser program- eller kommandokørselstider. Dette program kører også fint på Windows 10.

 Info fil: rktools.exe - SHA256 - 6260d75a2cb30201c5424defec3ba505edb92b91802825e2fd6eb9bd58ed5cca 
  1. Efter download af RK Tools skal du åbne rktools.exe ved hjælp af 7-Zip.
  2. Åbn derefter inde rktools.msi
    måle den samlede udførelsestid for en kommando eller et program
  3. Finde TimeIt.exe og udpak til en mappe.

Her er nogle eksempler for at køre en kommando eller batchfil og måle den samlede udførelsestid:

timeit.exe ping google.com
timeit.exe C:  Batch Files  Mål kommandokørselstid  backup.bat

måle den samlede udførelsestid for en kommando eller et program

TimeIt viste procesens udgangstid og forløbet tid blandt andre detaljer. Da jeg tjekkede, blev byte skrevet værdi matchede ikke outputfilens størrelse. Men bytes læste / skriftlige info er ikke genstand for diskussion i denne artikel.

Mere information

Når du skriver artiklen om udpakning af lyd fra en video fil ved hjælp af FFmpeg.exe, tænkte jeg på at måle udførelsestiden for kommandoen. Jeg brugte ovenstående script til at måle den tid, det tog at udtrække MP3-lyd fra en filmfil ved hjælp af kommandolinjeværktøjet FFmpeg.exe.

Den første batch inkluderede denne kommandolinje:

ffmpeg -i 'C:  Movies  Movie.mp4' -ss 01:20:00 -t 00:00:20 -codec: en libmp3lame -ab 128000 'D:  output-1.mp3'

2. batch inkluderede denne kommandolinje:

ffmpeg -ss 01:20:00 -i 'C:  Movies  Movie.mp4' -t 00:00:20 -codec: en libmp3lame -ab 128000 'D:  output-2.mp3'

Som du kan se, er antallet af kommandolinjeargumenter og de respektive værdier nøjagtigt det samme. Den eneste forskel er, at -ss (startpunkt) -parameteren placeres foran -jeg (filinput) -parameter i 2. batchfil. Metoden kaldes Indgangssøgning som pr FFmpeg.exe dokumentation . Den første metode kaldes Output søger hvori -jeg (inputfil) parameter vises før -ss parameter.

  • FFmpeg-dokumentation siger, at indgangssøgningsmetoden er meget hurtigere end udgangssøgning, fordi når den tidligere metode bruges, springer (søger) FFmpeg.exe direkte til det nævnte startpunkt i inputfilen og begynder at afkode fra dette punkt og frem.
  • Mens output-søgemetoden åbner filen først, begynder dekodning fra 00:00:00 , og kasserer derefter dataene, indtil de når -ss Startpunkt 01:20:00 . Så systemressourcerne (CPU, hukommelse og disk I / O) spildes, ligesom udførelsestiden øges, når du bruger metoden Output søger.
RELATEREDE: Konverter MP4 eller en hvilken som helst video til MP3 (Uddrag lyd fra videofil)

FFmpeg.exe-dokumentationen er korrekt. Da jeg testede, kørte input-søgningen meget hurtigere end output-search-metoden.

  • Den første kommando (Output seek) tog 20,48 sekunder at fuldføre.
  • Den anden kommando (Input seek) tog 16,62 sekunder at fuldføre.

Hvis du kender andre metoder til at måle udførelsestiden for en proces, script eller kommando, så lad os det vide.


En lille anmodning: Hvis du kunne lide dette indlæg, så del dette?

En 'lille' andel fra dig ville alvorligt hjælpe meget med væksten i denne blog. Nogle gode forslag:
  • Pin det!
  • Del det til din yndlingsblog + Facebook, Reddit
  • Tweet det!
Så mange tak for din støtte, min læser. Det tager ikke mere end 10 sekunder af din tid. Deleknapperne er lige nedenfor. :)