(2007.07.13) 오늘의 Visual C++ 소식
Microsoft Visual C++ 2005를 사용한 프로필 기준 최적화 요약 링크 시간 코드 생성(LTCG)과 프로필 기준 최적화(PGO)를 사용하면 20% 이상 성능을 향상시킬 수 있다고 한다. ATL 서버 라이브러리와 도구 소스코드가 공개되었다.…
Microsoft Visual C++ 2005를 사용한 프로필 기준 최적화 요약 링크 시간 코드 생성(LTCG)과 프로필 기준 최적화(PGO)를 사용하면 20% 이상 성능을 향상시킬 수 있다고 한다. ATL 서버 라이브러리와 도구 소스코드가 공개되었다.…
GC 모드 값에 따라 가비지 콜렉터의 개수가 달라진다고 했었다. 그러나 의문이 남았다. 한 프로그램에 애플리케이션 도메인이 여러 개 있을 때는 어떻게 될까? C++/CLI에서 Managed Thread와 Native Thread를 혼용해서 사용하면 어떻게…
Native C++로 작성한 소프트웨어를 C++/CLI로 포팅해야 하는 상황이었다. 컴파일러에 /clr 옵션을 주고 빌드하자 한번에 성공했다. 기뻐하며 F5 키를 눌러 실행시키는 순간, 런타임 오류가 발생했다. 각설하고 이틀 가량 조사하고 테스트한 결과,…
#pragma managed 또는 #pragma unmanaged를 섞어가며 코드를 작성해 놓으면, 디버깅 중에 지금 보고 있는 코드가 CLR 코드인지, Native 코드인지 구분이 안 갈 때가 있다. 이런 경우엔 우선 로컬 변수의 초기화가…
Server GC 멀티 프로세서(또는 멀티 코어)를 탑재한 컴퓨터에서만 작동한다. 각 프로세서마다 하나의 GC 힙(그리고 하나의 GC 쓰레드)를 할당하고, 가비지를 병렬로 수집한다. 세 가지 GC 모드 중 가장 성능과 확장성이 좋다.…
컴파일 C++ 프로젝트 전체에 /clr 컴파일 옵션을 주지 않고도 파일(.cpp) 별로 컴파일 옵션을 설정하는 것이 가능하다. /clr 옵션은 '/Yu: 미리 컴파일된 헤더 사용', '/Gy: 함수 수준 링크 사용' 등의 몇몇…
대용량도 아닌 거대 용량 아키텍처 끝 무렵에 이베이 시스템을 간단하게 평했다. 이에 5throck님께서 거대 용량 아키덱처 설계 시의 데이터베이스의 역할라는 글로 답변해주셔서 좀더 많은 이야기를 풀어나갈 기회가 생겼다. 이베이는 극단적인…
거대용량 시스템 아키텍쳐, 가늘어도 긴놈이 장땡 무섭고도 어려운 Scalibility, 겐도사마의 재림 이베이 이야기가 나왔으니, 지난 1월에 SK 아이미디어 상반기 워크숍 생각이 난다. 김용오 이사님께서 한참 사업 방향과 비전에 대해 연설하고…