반응형 [개발] Info/용어41 오버헤드 프로그래밍에서 "오버헤드(Overhead)"는 시스템 자원을 추가로 소비하게 되는 부가 비용을 의미합니다. 이러한 오버헤드는 여러 형태로 나타날 수 있으며, 성능 저하의 원인이 될 수 있습니다. 오버헤드는 주로 시간, 메모리, CPU 등의 자원 소비와 관련됩니다.오버헤드의 주요 유형시간 오버헤드(Time Overhead): 특정 작업이나 기능을 수행하는 데 추가적으로 소요되는 시간입니다. 예를 들어, 함수 호출, 컨텍스트 스위칭, 동기화 메커니즘 사용 등에서 발생할 수 있습니다.메모리 오버헤드(Memory Overhead): 추가적인 메모리 사용을 의미합니다. 예를 들어, 객체를 생성할 때 할당되는 메모리, 데이터 구조의 오버헤드, 런타임에서의 메모리 관리 등이 해당됩니다.CPU 오버헤드(CPU Over.. 2024. 6. 29. 데몬 스레드 데몬 스레드(Daemon Thread)는 백그라운드에서 실행되며, 주로 프로그램의 주요 작업을 지원하는 역할을 하는 스레드입니다. 데몬 스레드는 자바와 같은 언어에서 자주 사용되며, 주요 애플리케이션이 종료되면 자동으로 종료되는 특징을 가지고 있습니다. 이는 프로그램의 주요 작업이 모두 완료된 후에 불필요하게 시스템 리소스를 사용하지 않도록 하기 위해서입니다.데몬 스레드의 주요 특징백그라운드 실행: 데몬 스레드는 주 스레드(Main Thread)가 실행하는 주요 작업을 지원하는 역할을 하며, 백그라운드에서 실행됩니다.종료 조건: 데몬 스레드는 JVM(Java Virtual Machine)이 모든 일반(Non-daemon) 스레드의 실행을 완료하면 자동으로 종료됩니다. 일반 스레드가 실행 중인 동안에는 데.. 2024. 6. 29. 하이퍼스레딩 하이퍼스레딩(Hyper-Threading)은 인텔(Intel)에서 개발한 기술로, 하나의 물리적 프로세서 코어를 두 개의 논리적 코어(또는 스레드)로 나누어 병렬 처리 성능을 향상시키는 기술입니다. 이는 하나의 CPU 코어가 동시에 두 개의 스레드를 처리할 수 있게 함으로써 효율성을 높이는 방법입니다. 하이퍼스레딩의 핵심 개념과 작동 방식을 다음과 같이 설명할 수 있습니다.하이퍼스레딩의 핵심 개념동시 멀티스레딩(Simultaneous Multi-Threading, SMT): 하이퍼스레딩은 SMT의 한 형태로, 물리적 코어 내의 자원을 최대한 활용하여 동시에 여러 스레드를 처리할 수 있게 합니다. 이는 프로세서의 효율성을 극대화합니다.논리적 코어(Logical Core): 물리적 코어는 하나이지만, 하이퍼.. 2024. 6. 29. 함수형 프로그래밍 함수형 프로그래밍은 수학적 함수의 개념에 기반한 프로그래밍 패러다임으로, 프로그램을 함수의 조합으로 구성하는 것을 강조합니다. 함수형 프로그래밍의 주요 특징과 원칙에 대해 자세히 설명드리겠습니다.주요 특징순수 함수 (Pure Function):순수 함수는 동일한 입력에 대해 항상 동일한 출력을 반환하며, 함수 외부의 상태나 변수에 의존하지 않습니다. 또한, 함수 실행의 부작용(side effect)이 없습니다.예를 들어, f(x) = x + 2는 순수 함수입니다. 입력 x가 같다면 항상 출력도 같습니다.불변성 (Immutability):함수형 프로그래밍에서는 데이터가 불변(immutable)입니다. 데이터를 변경하는 대신, 변경된 사본을 만듭니다.이는 프로그램의 예측 가능성을 높이고, 디버깅을 쉽게 만듭.. 2024. 6. 27. 이전 1 2 3 4 5 6 ··· 11 다음 반응형