상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바스크립트에서 함수의 실행 시간을 측정하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 함수의 실행 시간을 측정하는 것은 성능 최적화 및 디버깅에 매우 중요한 작업입니다. 이를 통해 특정 코드 블록이 얼마나 빠르게 실행되는지를 파악하고, 필요에 따라 성능을 개선할 수 있습니다. 자바스크립트에서는 여러 가지 방법으로 함수의 실행 시간을 측정할 수 있습니다. 아래에서 몇 가지 일반적인 방법을 소개하겠습니다. 1. `<a href='https://sangseek.com/sangseeks/console.time/ko'>console.time</a>()`과 `<a href='https://sangseek.com/sangseeks/console.timeEnd/ko'>console.timeEnd</a>()` 가장 간단하고 직관적인 방법 중 하나는 `console.time()`과 `console.timeEnd()` 메서드를 사용하는 것입니다. 이 방법은 특정 코드 블록의 실행 시간을 측정하는 데 유용합니다. ```javascript function exampleFunction() { // 실행할 코드 for (let i = 0; i < 1000000; i++) { // 아무 작업도 하지 않음 } } console.time('exampleFunction'); exampleFunction(); console.timeEnd('exampleFunction'); ``` 위의 코드에서 `console.time('exampleFunction')`은 타이머를 시작하고, `console.timeEnd('exampleFunction')`은 타이머를 종료하여 실행 시간을 콘솔에 출력합니다. 이 방법은 간단하지만, 여러 번 호출할 경우 각 호출에 대해 고유한 레이블을 사용해야 합니다. 2. `<a href='https://sangseek.com/sangseeks/performance.now/ko'>performance.now</a>()` 보다 정밀한 측정을 원한다면, `performance.now()` 메서드를 사용할 수 있습니다. 이 메서드는 <a href='https://sangseek.com/sangseeks/밀리초/ko'>밀리초</a> 단위로 고해상도 타이밍을 제공하므로, 짧은 실행 시간도 정확하게 측정할 수 있습니다. ```javascript function exampleFunction() { // 실행할 코드 for (let i = 0; i < 1000000; i++) { // 아무 작업도 하지 않음 } } const start = performance.now(); exampleFunction(); const end = performance.now(); console.log(`Execution time: ${end - start} milliseconds`); ``` 이 방법은 `performance.now()`를 호출하여 시작 시간과 종료 시간을 기록하고, 두 시간의 차이를 계산하여 실행 시간을 구합니다. 이 방식은 특히 짧은 함수의 실행 시간을 측정할 때 유용합니다. 3. 고차 함수로 래핑하기 반복적으로 실행 시간을 측정해야 하는 경우, 함수를 고차 함수로 래핑하여 재사용할 수 있습니다. 이렇게 하면 코드 중복을 줄이고, 여러 함수에 대해 일관된 방식으로 실행 시간을 측정할 수 있습니다. ```javascript function measureExecutionTime(fn) { return function(...args) { const start = performance.now(); const result = fn(...args); const end = performance.now(); console.log(`Execution time: ${end - start} milliseconds`); return result; }; } const exampleFunction = measureExecutionTime(function() { for (let i = 0; i < 1000000; i++) { // 아무 작업도 하지 않음 } }); exampleFunction(); ``` 위의 코드에서 `measureExecutionTime` 함수는 다른 함수를 인자로 받아 실행 시간을 측정하고, 결과를 출력합니다. 이렇게 하면 여러 함수에 대해 쉽게 실행 시간을 측정할 수 있습니다. 4. 비동기 함수의 실행 시간 측정 비동기 함수의 실행 시간을 측정할 때는 `async/await` 구문을 사용할 수 있습니다. 이 경우에도 `performance.now()`를 활용하여 정확한 측정을 할 수 있습니다. ```javascript async function exampleAsyncFunction() { return new Promise(resolve => { <a href='https://sangseek.com/sangseeks/setTimeout/ko'>setTimeout</a>(() => { resolve("Done"); }, 1000); }); } async function measureAsyncExecutionTime(fn) { const start = performance.now(); await fn(); const end = performance.now(); console.log(`Execution time: ${end - start} milliseconds`); } measureAsyncExecutionTime(exampleAsyncFunction); ``` 이 예제에서는 비동기 함수의 실행 시간을 측정하기 위해 `await`를 사용하여 함수가 완료될 때까지 기다립니다. 결론 자바스크립트에서 함수의 실행 시간을 측정하는 방법은 다양합니다. `console.time()`과 `console.timeEnd()`는 간단하고 직관적인 방법이며, `performance.now()`는 더 높은 정밀도를 제공합니다. 고차 함수를 사용하면 코드의 재사용성을 높일 수 있고, 비동기 함수의 경우 `async/await`를 통해 쉽게 측정할 수 있습니다. 이러한 방법들을 적절히 활용하여 코드의 성능을 분석하고 최적화하는 데 도움이 되길 바랍니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기