Windows에서 명령 또는 프로그램의 총 실행 시간 찾기
때때로 실행하는 명령 또는 프로그램의 총 실행 시간을 찾고 싶을 수도 있습니다. 스크립트 나 프로그램을 최적화하려면 실행을 완료하는 데 시간이 얼마나 걸리는지 알아야합니다. 이를 통해 프로그램 A와 프로그램 B의 총 런타임을 비교하고 특히 전문 소프트웨어 개발자, 분석가 또는 소프트웨어 테스터 인 경우 코드를 최적화 할 수 있습니다.
스크립트 또는 프로세스의 총 실행 시간을 측정하는 것은 성능 최적화의 가장 중요한 측면 중 하나입니다. 이 문서에서는 Windows에서 프로그램, 스크립트 또는 명령의 총 실행 시간을 찾는 다양한 방법에 대해 설명합니다.
프로그램 또는 명령의 총 실행 시간 찾기
PowerShell 사용
PowerShell에는 스크립트 블록, cmdlet 또는 외부 프로그램을 실행하는 데 걸리는 시간을 측정하는 데 도움이되는 기본 제공 Measure-Command
cmdlet이 포함되어 있습니다. 다음은 ping google.com
명령 줄이 완료되는 데 걸리는 시간을 측정하는 샘플 PowerShell 명령 줄입니다.
측정 명령 외부 호스트
ping 명령의 출력이 끝나면 하단에 다음 통계가 표시됩니다.
요일 : 0 시간 : 0 분 : 0 초 : 3 밀리 초 : 66 틱 : 30660017 총 일수 : 3.5486130787037E-05 총 시간 : 0.000851667138888889 총 분 : 0.0511000283333333 총 초 : 3.0660017 총 밀리 초 : 3066.0017
Microsoft Docs에서 Measure-Object에 대해 자세히 알아보십시오.
명령을 완료하는 데 3.06 초가 걸렸습니다. Out-Host
인수를 생략하면 PowerShell은 콘솔에서 Ping
명령의 출력을 숨 깁니다. 실행 통계 만 표시됩니다.
긴 명령 줄이 있거나 여러 명령을 실행해야하는 경우 Windows 배치 파일에 넣은 다음 PowerShell을 사용하여 실행할 수 있습니다. 예를 들면 다음과 같습니다.
측정 명령 시작 프로세스 "d : \ batch \ backup.bat"관련 : PowerShell을 사용하여 텍스트 파일에서 단어, 문자 및 줄 수 찾기
VBScript 사용
다음은 명령 줄, 프로그램 또는 배치 파일의 총 실행 시간을 계산하는 간단한 VBScript입니다.
WshShell = WScript.CreateObject ( "WScript.Shell") 설정 sCmd = chr (34) & "D : \ Batch Files \ Backup.bat"& chr (34) dtmStartTime = 타이머 반환 = WshShell.Run (sCmd, 1, true ) Wscript.Echo "작업이"& Round (Timer-dtmStartTime, 2) & "seconds"에 완료되었습니다.
- 위의 코드를 메모장에 복사
- 파일을
exec_timer.vbs
로 저장하십시오. sCmd
시작하는 두 번째 줄에서 실행할 프로그램을 수정하십시오. 즉, 위의 예에서"D:\Batch Files\Backup.bat"
를 실행하려는 응용 프로그램 또는 배치로"D:\Batch Files\Backup.bat"
.- 파일을 저장하고 메모장을 닫습니다.
- VBScript 파일을 두 번 클릭하여 실행하십시오.
VBScript는 배치 파일, 명령 또는 프로그램을 시작합니다. 실행이 끝나면 총 실행 시간이 초 단위로 표시됩니다.
리소스 키트 도구에서 TimeIt.exe 사용
TimeIt.exe
는 프로그램 또는 명령 실행 타이밍을 표시하는 Windows Server 2003 Resource Kit 도구의 일부입니다. 이 프로그램은 Windows 10에서도 잘 실행됩니다.
- RK Tools를 다운로드 한 후 7-Zip을 사용하여 rktools.exe 파일을여십시오.
- 그런 다음
rktools.msi
내부를여rktools.msi
TimeIt.exe
찾아 폴더로 추출하십시오.
명령 또는 배치 파일을 실행하고 총 실행 시간을 측정하기위한 몇 가지 예는 다음과 같습니다.
timeit.exe ping google.com
timeit.exe C : \ Batch Files \ Measure 명령 실행 시간 \ backup.bat
시간 다른 세부 사항 중에서 프로세스 종료 시간 및 경과 시간을 표시했습니다. 확인했을 때 바이트 쓰기 값이 출력 파일 크기와 일치하지 않습니다. 그러나 바이트 읽기 / 쓰기 정보는이 기사에서 다루지 않습니다.
추가 정보
FFmpeg.exe를 사용하여 비디오 파일에서 오디오를 추출하는 방법에 대한 기사를 작성할 때 명령 실행 시간을 측정하려고 생각했습니다. 위 스크립트를 사용하여 FFmpeg.exe 명령 줄 도구를 사용하여 영화 파일에서 MP3 오디오를 추출하는 데 걸리는 시간을 측정했습니다.
첫 번째 배치에는 다음 명령 줄이 포함되었습니다.
ffmpeg -i "C : \ Movies \ Movie.mp4"-ss 01:20:00 -t 00:00:20-코덱 : a libmp3lame -ab 128000 "D : \ output-1.mp3"
두 번째 배치에는 다음 명령 줄이 포함되었습니다.
$config[ads_text6] not foundffmpeg -ss 01:20:00 -i "C : \ Movies \ Movie.mp4"-t 00:00:20-코덱 : a libmp3lame -ab 128000 "D : \ output-2.mp3"
보시다시피, 명령 줄 인수의 수와 각 값은 정확히 같습니다. 유일한 차이점은 -ss
(시작점) 매개 변수가 두 번째 배치 파일에서 -i
(파일 입력) 매개 변수 앞에 있다는 것입니다. 이 방법을 FFmpeg.exe 설명서에 따라 입력 찾기 라고합니다. 첫 번째 방법은 Output seeking 이며, 여기서 -i
(입력 파일) 매개 변수는 -ss
매개 변수 앞에 나타납니다.
- FFmpeg 설명서에 따르면 입력 탐색 방법이 출력 탐색보다 훨씬 빠르다고합니다. 이전 방법을 사용할 때는 FFmpeg.exe가 입력 파일에서 언급 된 시작 지점으로 직접 점프 (탐색)되어 그 시점부터 디코딩을 시작하기 때문입니다.
- 출력 탐색 방법은 먼저 파일을 열고
00:00:00
에서 디코딩을 시작한 다음-ss
Start point01:20:00
도달 할 때까지 데이터를 버립니다. 따라서 출력 검색 방법을 사용하면 시스템 자원 (CPU, 메모리 및 디스크 I / O)이 낭비되고 실행 시간이 늘어납니다.
FFmpeg.exe 설명서가 정확합니다. 테스트 할 때 입력 탐색이 출력 탐색 방법보다 훨씬 빠르게 실행되었습니다.
- 첫 번째 명령 (출력 탐색)을 완료하는 데 20.48 초가 걸렸습니다.
- 두 번째 명령 (입력 탐색)을 완료하는 데 16.62 초가 걸렸습니다.
프로세스, 스크립트 또는 명령의 실행 시간을 측정하는 다른 방법을 알고 있다면 알려주십시오.