오버헤드 Overhead

[사전적 정의]

- 시스템의 제어 프로그램이 시스템 자원을 위해 대기하는 시간.

- 특정한 목표달성을 위한 간접적 추가적인 시간, 메모리, 대역폭 혹은 다른 컴퓨터 자원 말함.

- 시스템에서의 목적효과를 얻기위해 본질적인 것은 아니지만 요구되는 작동, 또는 그로인해 필요한 자원.

 

 

[개발자 정의]

- 개발자에게 오버헤드란 프로그램 개발 시의 알고리즘, 인코딩, 데이터형, 데이터구조 등을 선택할 때 각각의 선택 시의 본질적이진 않지만 추가로 고려해야 하는 작동과 자원이다.

- 본질적인 것은 아니기때문에 오버헤드는 시스템, 기계 마다 달라질 수 있고 Big O 표기 (알고리즘 복잡도 표기 중 하나) 는 오버헤드 값은 생략한다.

 

 

[예시]

- HTML 문서에 포함된 리소스(Imag, Css), Js 파일들의 양에 비례하여 대기시간이 길어지는데, 이 다수의 파일에 대한 대기시간도 오버헤드이다.

- WebPack 과 같은 모듈번들러는 변경이 적은 파일들, 일정 크기 이상의 파일들에 대한 Code Splitting 을 통해 요청/응답 시간에 대한 오버헤드를 줄인다.

 

'기타 > 기초상식' 카테고리의 다른 글

데이터 스토리지 용량 단위  (0) 2020.03.19

+ Recent posts