어떤 작업에 대한 경과 시간(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
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화
- JavaScript Set add() 함수
- JavaScript Set clear() 함수, 모든 값 제거
- JavaScript Set delete() 함수, 값 제거
- JavaScript Set has() 함수 (값 존재 여부 확인)
- JavaScript String split() 함수
- JavaScript - 경과 시간 계산 (Elapsed time)
- JavaScript - 실행 시간 측정 방법
- JavaScript - 날짜, 시간 포맷 (Date format)
- JavaScript - slice()로 배열 자르기, 나누기
- Node.js - 파일에 특정 문자열이 포함되어있는지 확인
- Node.js - 특정 패턴과 일치하는 모든 파일 찾기
- Node.js - 디렉토리의 파일 리스트 가져오기
- Node.js - 파일, 디렉토리(하위 파일) 삭제
- Node.js - 파일 이름 변경
- JavaScript - switch 조건문
- JavaScript - 배열의 특정 요소 찾기, Index 찾기
- JavaScript - 특정 값으로 배열 채우기, Array.fill()
- JavaScript - 배열을 객체로 변환, 4가지 방법
- JavaScript - 이번 달(특정 달)의 1일, 마지막 일 구하기
- JavaScript - 배열 요소 삭제 방법
- JavaScript - null, undefined 체크 방법
- JavaScript - 배열에 특정 값이 포함되어있는지 확인
- JavaScript - 변수가 배열인지 확인, 3가지 방법
- JavaScript - 배열에서 빈 값, undefined, null 제거하기
- JavaScript - Date에 시간(일/시/분/초) 더하기
- JavaScript - Map의 key를 배열로 변환
- JavaScript - Map의 value를 배열로 변환
- JavaScript - Map 요소 삭제 방법
- JavaScript - Map 생성 및 초기화, 3가지 방법
- JavaScript - Map 순회, 3가지 방법