object를 static으로 선언했을 때와 global로 선언했을 때 객체 생성 시점의 차이
글쓴이: gilgil / 작성시간: 일, 2011/09/11 - 3:41오전
Singleton 객체를 선언할 때 일반적으로 static으로 선언하는 경우가 있는데요,
static으로 function내에서 선언을 하는 경우
해당 function을 참조할 때마다 초기화 여부 코드가 들어 가서
mov, test, jne 라는 코드 수행의 cost를 발생시킬 수 있습니다.
참고하시기 바랍니다.
Forums:
정확히 이야기 하자면 초기화되었는지 점검하는거죠.
구현측면에서 보면 초기화 함수에 첫 진입을 한 것인지 점검하는 것이구요.
물론 수행비용은 발생하지만 다른 정적객체에 의존하는 Singleton을 C++로 구현할 때에는 필요하기 때문에 나온 기술입니다.
댓글 달기