확인. 이 qiestion의 제목은 해독하기 쉽지 않지만 설명해 드리겠습니다.코드 내 시간 카운터 및 시간 초과 코드 카운터 실행 차이점
공통된 근거를 설정하기 위해 몇 가지 자세한 정보를 제공 하겠지만이 질문은 가능한 모든 상황, 언어 및 플랫폼에 적용하기위한 것입니다.
플랫폼 : .NET 프레임 워크 4.0 체제 : Windows (명백하게) 언어 : F 번호 나 프로그램을 실행하고 시간을 평가해야
은 몇 가지 지침을 실행하는 데 보냈다. 한 번 카운터를 배치가, 주요 기능을 가지고 생각해
open System.Diagnostics
let main args =
let watch = new Stopwatch()
watch.Start()
(* Calling functions and executing main body... *)
watch.Stop()
(* Printing out the evaluated time *)
OK! 시간이 있고 행복합니다.
이제이 시간을 측정하고 외부에서 평가하고 싶습니다.
$MyProcess = New-Object "System.Diagnostics.Process";
$Watch = New-Object "System.Diagnostics.Stopwatch";
$MyProcess.StartInfo.FileName = "Myexec";
$MyProcess.StartInfo.Arguments = "args";
$MyProcess.StartInfo.CreateNoWindow = $true;
$MyProcess.StartInfo.UseShellExecute = $false;
$StartingTimer = $Watch.Start(); # Starts the timer
$StartingProcess = $MyProcess.Start();
$WaitingForExit = $MyProcess.WaitForExit();
$StoppingTimer = $Watch.Stop(); # Stops the timer
# Collectiong timings
$Ticks = $Watch.ElapsedTicks;
# Returning and printing
Write-Output "$Ticks";
음 : 그래서 너무 시간을 파일을 실행하지만, 계산 PowerShell 스크립트를 고려하십시오. 제 질문은 다음과 같습니다 : 우리가 볼 수 있듯이 우리는 두 가지 다른 유형의 평가를합니다 : 코드 내 및 코드 외. 나는 그 시간이 다르다고 생각한다! 아웃 코드 타이머는 평가할 프로그램과 경쟁하지 않는 일부 명령어를 평가할 것이기 때문에. 예를 들어 컨텍스트 스위치 등 ... CPU가 컨텍스트 스위치를 경험하면 out-code 타이머에서 컨텍스트 슬라이스 동안 다른 프로세스가 완료하는 데 걸리는 시간을 평가합니다 ...
그래? 맞습니까?