개발용어

오버헤드(overhead)란?

sakuraop 2023. 3. 9. 08:45

오버헤드(overhead)란, 컴퓨터에서 어떤 작업을 수행할 때 추가적으로 필요한 부가적인 작업이나 비용을 말합니다.

이는 해당 작업을 수행하기 위해 필요한 시간, 메모리, 프로세스 등의 자원을 소비하며, 전체 시스템의 성능을 저하시킬 수 있습니다.

 

예를 들어, 함수를 실행하는 경우 함수 호출, 매개변수 전달, 리턴값 처리 등의 작업이 필요합니다.

이러한 작업은 함수 실행에 필요한 최소한의 작업이지만, 이 작업이 불필요하게 많아지면 오버헤드가 발생할 수 있습니다.

오버헤드가 큰 작업은 시스템 자원을 많이 소비하므로 전체 시스템 성능을 저하시키는 원인이 될 수 있습니다.

=> 불필요한 함수 호출을 방지하기 위한 메모이제이션(useMemo:값 재사용), (useCallback:함수 재사용)을 활용

 

또 다른 예로는, 데이터베이스에서 쿼리를 수행하는 경우, 쿼리문을 파싱하고 실행하는 작업이 필요합니다.

이 작업은 쿼리문이 복잡하고 대용량 데이터를 처리해야 하는 경우 오버헤드가 발생할 수 있습니다.

이러한 경우, 쿼리의 최적화나 인덱스 생성 등의 방법을 사용하여 오버헤드를 최소화할 수 있습니다.