Najděte celkovou dobu spuštění příkazu nebo programu ve Windows - Winhelponline

Find Total Execution Time Command

Někdy možná budete chtít zjistit celkovou dobu spuštění spuštěného příkazu nebo programu. Pro optimalizaci skriptu nebo programu je důležité vědět, jak dlouho trvá jeho dokončení. To vám pomůže porovnat celkovou dobu běhu programu A s programem B a optimalizovat váš kód, zejména pokud jste profesionální vývojář softwaru, analytik nebo tester softwaru.



Měření celkové doby provádění skriptu nebo procesu je jedním z nejdůležitějších aspektů optimalizace výkonu. Tento článek pojednává o různých metodách pro zjištění celkové doby spuštění programu, skriptu nebo příkazu v systému Windows.





Najděte celkovou dobu spuštění programu nebo příkazu

Pomocí prostředí PowerShell

PowerShell obsahuje vestavěný Opatření a příkaz rutina, která vám pomůže měřit čas potřebný ke spuštění bloků skriptů, rutin nebo dokonce externích programů. Zde je ukázkový příkazový řádek prostředí PowerShell, který měří dobu potřebnou pro ping google.com příkazový řádek pro dokončení:

Measure-Command ping google.com

Po výstupu příkazu ping se v dolní části zobrazí následující statistiky.



Dny: 0 Hodiny: 0 Minuty: 0 Sekundy: 3 Milisekundy: 66 Klíště: 30660017 Celkem Dny: 3,5486130787037E-05 CelkemHodiny: 0,000851667138888889 CelkemMinuty: 0,0511000283333333 CelkemSekundy: 3,0660017 CelkemMilisekund: 3066,0017

změřit celkovou dobu provedení příkazu nebo programu

Přečtěte si více o Změřte objekt v Microsoft Docs.

Příkaz trval 3,06 sekundy. The Out-Host argument, pokud je vynechán, PowerShell skryje výstup (z Ping příkaz) v konzole - uvidíte pouze statistiku provádění.

Pokud máte dlouhý příkazový řádek nebo potřebujete spustit více příkazů, můžete je vložit do dávkového souboru systému Windows a poté jej spustit pomocí prostředí PowerShell. Zde je příklad:

Measure-Command Out-Host
PŘÍBUZNÝ: Najděte množství slov, znaků a čar v textovém souboru pomocí prostředí PowerShell

Používání VBScript

Zde je jednoduchý VBScript, který vypočítává celkovou dobu spuštění příkazového řádku, programu nebo dávkového souboru.

Nastavit WshShell = WScript.CreateObject ('WScript.Shell') sCmd = chr (34) & 'D:  Batch Files  Backup.bat' & chr (34) dtmStartTime = Časovač Návrat = WshShell.Run (sCmd, 1, true ) Wscript.Echo 'Úkol byl dokončen za' & Round (Timer - dtmStartTime, 2) & 'seconds.'
  1. Zkopírujte výše uvedený kód do poznámkového bloku
  2. Uložte soubor jako exec_timer.vbs .
  3. Ve 2. řádku, který začíná sCmd , upravte program, který chcete spustit - tj. vyměňte 'D: Dávkové soubory Backup.bat' ve výše uvedeném příkladu s aplikací nebo dávkou, kterou chcete spustit.
  4. Uložte soubor a zavřete Poznámkový blok.
  5. Poklepáním na soubor VBScript jej spusťte.

VBScript spustí dávkový soubor, příkaz nebo program. Po dokončení běhu se zobrazí celková doba provedení (v sekundách).

změřit celkovou dobu provedení příkazu nebo programu


Pomocí TimeIt.exe z Resource Kit Tools

TimeIt.exe je součástí systému Windows Server 2003 Resource Kit ( zrcadlový odkaz ) nástroj, který zobrazuje časování spuštění programu nebo příkazu. Tento program funguje dobře i ve Windows 10.

 Informační soubor: rktools.exe - SHA256 - 6260d75a2cb30201c5424defec3ba505edb92b91802825e2fd6eb9bd58ed5cca 
  1. Po stažení RK Tools otevřete rktools.exe pomocí 7-Zip.
  2. Pak otevřete dovnitř rktools.msi
    změřit celkovou dobu provedení příkazu nebo programu
  3. Nalézt TimeIt.exe a rozbalte do složky.

Chcete-li spustit příkaz nebo dávkový soubor a změřit jeho celkovou dobu spuštění, uvádíme několik příkladů:

timeit.exe ping google.com
timeit.exe C:  Batch Files  Measure run time  backup.bat

změřit celkovou dobu provedení příkazu nebo programu

TimeIt mimo jiné ukázal čas ukončení procesu a uplynulý čas. Když jsem to zkontroloval, zapsané bajty hodnota neodpovídala velikosti výstupního souboru. Informace o přečtených / zapsaných bajtech však nejsou předmětem diskuse v tomto článku.

Více informací

Při psaní článku o extrahování zvuku z videa soubor pomocí FFmpeg.exe, napadlo mě měřit čas provedení příkazu. Výše uvedený skript jsem použil k měření času potřebného k extrakci zvuku MP3 ze souboru filmu pomocí nástroje příkazového řádku FFmpeg.exe.

První dávka obsahovala tento příkazový řádek:

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

Druhá dávka obsahovala tento příkazový řádek:

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

Jak vidíte, počet argumentů příkazového řádku a příslušné hodnoty jsou přesně stejné. Jediný rozdíl je v tom, že -ss (výchozí bod) je parametr umístěn před -i parametr (vstup souboru) ve 2. dávkovém souboru. Metoda se nazývá Hledání vstupu podle Dokumentace FFmpeg.exe . Je volána první metoda Hledání výstupu , kde -i (vstupní soubor) se parametr objeví před -ss parametr.

  • Dokumentace FFmpeg říká, že metoda hledání vstupu je mnohem rychlejší než hledání výstupu, protože při použití dřívější metody FFmpeg.exe přeskočí (hledá) přímo na uvedený počáteční bod ve vstupním souboru a začne od tohoto bodu dekódovat.
  • Zatímco metoda hledání výstupu nejprve otevře soubor, začne dekódovat z 00:00:00 , a poté zahodí data, dokud nedosáhnou -ss Startovní bod 01:20:00 . Systémové prostředky (CPU, paměť a vstupně-výstupní operace na disku) jsou tedy zbytečné a doba provádění se zvyšuje, když použijete metodu vyhledávání výstupu.
PŘÍBUZNÝ: Převod MP4 nebo libovolného videa na MP3 (extrakce zvuku z video souboru)

Dokumentace FFmpeg.exe je správná. Když jsem testoval, vyhledávání vstupu běželo mnohem rychleji než metoda vyhledávání výstupu.

  • Dokončení prvního příkazu (hledání výstupu) trvalo 20,48 sekundy.
  • Dokončení druhého příkazu (vyhledávání vstupu) trvalo 16,62 sekundy.

Pokud znáte jiné metody měření času provádění procesu, skriptu nebo příkazu, dejte nám vědět.


Jedna malá žádost: Pokud se vám tento příspěvek líbil, sdílejte ho prosím?

Jedno „malé“ sdílení od vás by vážně hodně pomohlo s růstem tohoto blogu. Několik skvělých návrhů:
  • Připnout!
  • Sdílejte to na svém oblíbeném blogu + Facebook, Reddit
  • Tweetujte to!
Takže vám moc děkuji za podporu, můj čtenáři. Nebude to trvat déle než 10 sekund vašeho času. Tlačítka pro sdílení jsou vpravo dole. :)