우리는 두 이벤트의 시작 시간과 종료 시간을 가져옵니다 자바 스크립트 기능이 :NTP 시간 업데이트에서도 생존 할 수있는 방법으로 JavaScript로 두 번 비교할 수 있습니까?
var startTime = new Date().getTime();
// A long running task occurs
var endTime = new Date().getTime();
우리가 찾아낸 문제가 getTime()
는 시스템 클럭에 의존하는 것으로 보인다는 것이다. 불행히도 우리는 Windows NTP 시간 업데이트를 통해이 두 호출간에 사용자의 시계가 변경된 경우가 있습니다 (예 : Windows가 정확한 시간을 얻기 위해 시간 서버로 나가고 시스템 시계를 올바른 시간으로 변경 함).). 그래서 우리는이 같은 뭔가 바람 :
startTime = 12:00:00
// 30 second task is kicked off
// NTP time update detects that the system is one minute ahead and corrects the clock
endTime = 11:59:30 // It ended before it began
내가 NTP 시간 업데이트를 살아남을 것 같은 방법으로 두 번을 비교할 수있는 방법이 있나요? Google의 자바 스크립트 앱은 회사 방화벽 외부의 서버를 쿼리 할 수 없으므로 NTP 서버를 직접 호출하는 것은 문제가되지 않습니다.
이 아니에요 시간 성능을 측정하는 데 사용 (그 질문에 = 답변) 모든 기술은 NTP 업데이트에 무관이기 때문에 일반적인 성능 측정 질문의 중복! 그러나 http://stackoverflow.com/questions/313893/how-to-measure-time-taken-by-a-function-to-execute의 최고 정격 답변은 아직까지 갈 방법입니다. "[. ..]과 달리 Date.now()와 달리 Performance.now()가 반환하는 값은 시스템 시계 (NTP와 같은 소프트웨어에 의해 수동으로 조정되거나 비뚤어 질 수 있음)와 관계없이 항상 일정한 속도로 증가합니다. –