따라서 Unix에는 time
사용자가 코드 / 기타 시간을 지정할 수 있는 명령이 있습니다. Windows 명령 줄에 비슷한 것이 있는지 궁금합니다.
또한 Linux 명령 줄에 관한 이전 질문을 여기에서했습니다 . Windows에서도 똑같이 할 수 있습니까? 그렇다면 어떻게?
답변
Powershell 사용
Measure-Command {start-process whateveryouwantexecute -Wait}
필요에 따라 @efficiencylsBliss 편집 :
Measure-Command {start-process java -argumentlist "whateverargumentisneeded" -wait}
답변
Win XP를 사용하고 있는데 어떤 이유로 든 timeit.exe
작동하지 않습니다. 다른 대안을 찾았습니다. ptime
:
ptime은 지정된 명령 및 매개 변수를 실행하고 실행 시간 (런타임)을 초 단위로 정확하게 측정합니다 (5 밀리 초 이상). 자동 프로세스 타이머 또는 벤치 마크 목적으로 사용되는 프로그램 타이머입니다.
답변
배치 스크립트로 약간의 부정 행위를 할 수 있습니다 …
@echo off
echo %time% < nul
cmd /c %1
echo %time% < nul
그런 다음이 스크립트에 대한 인수로 프로그램을 실행하십시오 …
timer myprogram.exe
그리고 논쟁을 위해 …
timer "myprogram.exe -sw1 -sw2"
출력 예 :
17:59:20.02
some text
17:59:20.03
배치 스크립트를 PATH 변수 어딘가에 배치 C:\Windows\System32
하고 이름을 지정하십시오 timer.cmd
. 물론 두 번째 cmd 인스턴스를 포크해도 성능이 약간 저하됩니다.
답변
time
Windows의 Unix와 직접적으로 동등한 것은 없습니다 .
University of Georgia에는 Unix 사용자를위한 간단한 Windows 명령 목록이 있습니다.
이전 Windows 명령 프롬프트와 .bat 스크립팅이 Unix 쉘에 비해 다소 제한적이지만 파일 등을 반복하는 기능이 있습니다. CommandWindows.com에는 몇 가지 팁이 있습니다.
당신도 설치할 수있을뿐 아니라 bash
Windows에서 (Cygwin에서 설치하여 예) 또는 (I 동등한 일을하는 수단을 가지고 가정입니다) Windows PowerShell을 배웁니다.
답변
코드 출력은 파일로 파이프 될 수 있습니다. java test <inputfile> | Out-File d:\a.txt
시간을 측정하려면 Measure-Commmand에 캡슐화해야합니다.
Measure-Commmand {java test <inputfile> | Out-File d:\a.txt}
답변
Measure-Command와 함께 PowerShell을 사용하려고하면 예기치 않은 문제가 발생할 수 있습니다. 내 명령 은 >
리디렉션을 사용하여 이진 데이터를 파일에 기록 하지만 PowerShell 은 파일의 시작 부분에 BOM 을 추가하고 모든 쓰기 후에 CRLF 줄 바꿈을 추가했습니다!
답변
커피가 도움이되었습니다.
function time { $Command = "$args"; Measure-Command { Invoke-Expression $Command 2>&1 | out-default} }
그리고 아무것도 출력하지 않으려면 out-null로 바꾸십시오.
function timequiet { $Command = "$args"; Measure-Command { Invoke-Expression $Command 2>&1 | out-null} }
다음과 같이 사용하십시오.
PS C:\> time sleep 5
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 990
Ticks : 49906722
TotalDays : 5,77624097222222E-05
TotalHours : 0,00138629783333333
TotalMinutes : 0,08317787
TotalSeconds : 4,9906722
TotalMilliseconds : 4990,6722
PS C:\>