카테고리 없음
디바운스와 쓰로틀링
bbanpro
2024. 11. 14. 17:48
728x90
반응형
디바운스(Debounce)와 쓰로틀링(Throttling)은 웹 개발에서 이벤트 처리를 최적화하기 위해 사용되는 두 가지 기법이다.
이들은 연속적으로 발생하는 이벤트를 효율적으로 관리하여 성능을 향상시키는 데 도움을 준다.
디바운스(Debounce)
디바운스는 연속적으로 발생하는 이벤트 중 마지막 이벤트만을 처리하는 기법이다.
즉, 일정 시간 동안 이벤트가 발생하지 않을 때까지 대기한 후, 마지막에 발생한 이벤트를 실행한다.
이는 사용자가 입력을 멈춘 후에만 처리를 수행하므로, 불필요한 연산을 줄일 수 있다.
사용 사례
검색 자동완성 : 사용자가 입력을 멈춘 후에만 서버에 요청을 보내어 검색 결과를 가져온다.
창 크기 조절 : 사용자가 창 크기 조절을 멈춘 후에 레이아웃을 재계산한다.
쓰로틀링(Throttling)
쓰로틀링은 연속적으로 발생하는 이벤트를 일정한 간격으로 제한하여 처리하는 기법이다.
즉, 이벤트가 지속적으로 발생하더라도 설정한 시간 간격마다 한 번씩만 처리를 수행한다.
이는 이벤트 발생 빈도를 조절하여 시스템 부하를 줄이는 데 효과적이다.
사용 사례
스크롤 이벤트 : 사용자가 페이지를 스크롤할 때, 일정 시간마다 한 번씩만 이벤트를 처리하여 성능을 향상시킨다.
마우스 이동 이벤트 : 마우스 이동 시 발생하는 이벤트를 제한하여 부드러운 사용자 경험을 제공한다.
실행 시점 | 이벤트가 멈춘 후 일정 시간 경과 시 마지막 이벤트 실행 | 이벤트 발생 중에도 일정 시간 간격으로 주기적으로 실행 |
주요 목적 | 불필요한 이벤트 처리를 방지하여 성능 최적화 | 이벤트 처리 빈도를 제한하여 시스템 부하 감소 |
사용 예시 | 검색 입력, 창 크기 조절 | 스크롤, 마우스 이동 |
728x90
반응형