JavaScript - 경과 시간 계산 (Elapsed time)

어떤 작업에 대한 경과 시간(Elapsed time)을 측정하는 방법을 소개합니다.

1. 경과 시간 계산 (Elapsed time)

어떤 작업을 수행할 때, 그 경과 시간을 측정하려면 작업 수행 전에 시간을 저장하고, 작업 후에 시간을 저장하여 두 시간의 차를 계산하면 됩니다.

아래 예제는 2초 걸리는 작업을 수행할 때, 그 경과 시간을 계산하는 예제입니다.

function sleep(millis) {
  let start = Date.now(), now = start;
  while (now - start < millis) {
      now = Date.now();
  }
}


let start = new Date();

// do something
sleep(2000)

let end = new Date();

elapsed = end.getTime() - start.getTime();
console.log("Eelapsed time: " + elapsed + " ms");

Output:

Eelapsed time: 2000 ms

2. 함수 수행 시간에 대한 경과 시간(Elapsed time) 측정

아래와 같이 printElapsedTime()에서 인자로 전달된 함수를 실행하고 그 경과시간을 로깅하도록 구현할 수 있습니다.

예제와 같이 printElapsedTime()의 인자로 람다식으로 함수를 전달하여 어떤 작업에 대한 수행 시간을 로깅할 수 있습니다.

function printElapsedTime(fTest) {
  let nStartTime = Date.now(),
      vReturn = fTest(),
      nEndTime = Date.now()

  console.log(`Elapsed time: ${ String(nEndTime - nStartTime) } milliseconds`)
  return vReturn
}

function sleep(millis) {
  let start = Date.now(), now = start;
  while (now - start < millis) {
      now = Date.now();
  }
}

// measure elapsed time for a task
printElapsedTime(() => sleep(3000));

Output:

Eelapsed time: 3000 ms
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha