반응형
빈번한 객체 사용에 자주 사용되는 object pool pattern은 버퍼도 예외가 아니다
목적은 메모리를 할당하고 해제하는 비용 즉, 오버헤드를 줄임으로서 성능향상을 꾀한다고 볼 수 있다
garbage collection이 동작하는 언어에서 더욱 빛을 발하게 되는데
객체의 재사용은 gc에게 일을 적게 주기 때문이다
통신시 수신되는 데이터를 저장하기 위해서 버퍼를 사용할때 효율적인 방법을 생각해보자
1:1과 1:n 상황에 따라 다를것이다
1:1은 수신버퍼가 1개가 필요할것이고
1:n은 n개가 필요할 것이다
수신버퍼는 그렇지만 데이터를 처기하기위해 추가적인 버퍼가 필요한데 이과정은 케이스 바이 케이스
작은 메모리의 잦은 할당과 해제 정확히 객체풀패턴이 필요한 상황이 된다
목적은 메모리를 할당하고 해제하는 비용 즉, 오버헤드를 줄임으로서 성능향상을 꾀한다고 볼 수 있다
garbage collection이 동작하는 언어에서 더욱 빛을 발하게 되는데
객체의 재사용은 gc에게 일을 적게 주기 때문이다
통신시 수신되는 데이터를 저장하기 위해서 버퍼를 사용할때 효율적인 방법을 생각해보자
1:1과 1:n 상황에 따라 다를것이다
1:1은 수신버퍼가 1개가 필요할것이고
1:n은 n개가 필요할 것이다
수신버퍼는 그렇지만 데이터를 처기하기위해 추가적인 버퍼가 필요한데 이과정은 케이스 바이 케이스
작은 메모리의 잦은 할당과 해제 정확히 객체풀패턴이 필요한 상황이 된다
반응형
'dev' 카테고리의 다른 글
비트연산시 실수 (0) | 2017.05.10 |
---|---|
콜백 (0) | 2017.05.06 |
Ring buffer(Circular buffer) 고찰 (0) | 2017.04.19 |
IO(input/output) model (0) | 2017.04.03 |
Modern Data Binding (0) | 2017.03.14 |