2025-09-17 12:39

Tags: 소프트웨어 공학

오버헤드

  • 특정 작업을 처리할 때 직접적인 처리 시간 외에 추가로 소요되는 자원이나 시간
  • 더 높은 추상화, 안정성, 보안 등을 위해 발생하는 필연적인 비용이며, CPU, 메모리, 네트워크 등 다양한 형태
  • 더 나은 개발 환경, 더 안정적인 시스템, 더 강력한 기능을 위한 트레이드 오프]의 산물
종류정의주요 발생 원인대표적인 예시
CPU 오버헤드실제 연산 외에 추가로 소요되는 CPU 사이클함수 호출, 문맥 교환, 예외 처리, 가상화재귀 함수의 깊은 호출, 스레드 간 잦은 문맥 교환
메모리 오버헤드순수 데이터 외에 추가로 필요한 메모리 공간데이터 구조 메타데이터, 메모리 정렬, 단편화연결 리스트의 다음 노드를 가리키는 포인터, 객체 헤더
네트워크 오버헤드전송할 데이터(Payload) 외에 추가되는 프로토콜 정보프로토콜 헤더(TCP/IP, HTTP), 핸드셰이크, 암호화TCP 헤더(20바이트), TLS 암호화 과정
스토리지 오버헤드파일 데이터 외에 파일을 관리하기 위해 필요한 디스크 공간파일 시스템 메타데이터, 저널링, 인덱스파일명, 생성일, 권한 정보, 데이터베이스 인덱스
런타임 오버헤드특정 프로그래밍 언어나 런타임 환경으로 인해 발생하는 비용동적 타입 검사, 가비지 컬렉션], JIT 컴파일파이썬의 타입 추론, 자바의 GC 작동