매크로에 대처하는 우리의 자세
윈도우 프로그래밍에서 빼놓지 않고 등장하는 헤더가 무엇일까? Hello World!를 찍을 때 필요한 <stdio>나 <iostream>? C/C++의 세계를 아울러 보면 그럴지도 모른다. 그러나 윈도우 프로그래밍에만 등장하는 헤더를 놓고 따진다면 <windows.h>도 꽤 강력한…
윈도우 프로그래밍에서 빼놓지 않고 등장하는 헤더가 무엇일까? Hello World!를 찍을 때 필요한 <stdio>나 <iostream>? C/C++의 세계를 아울러 보면 그럴지도 모른다. 그러나 윈도우 프로그래밍에만 등장하는 헤더를 놓고 따진다면 <windows.h>도 꽤 강력한…
전역 변수의 범위 전역 변수를 선언하면 선언한 오브젝트에만 할당된다. 다른 오브젝트에서 그 전역 변수를 사용하기 위해서는 사용하고자 하는 파일에서 extern 지시자를 이용해야만 한다. 그게 불편하다고 무턱대고 공용 헤더 파일에 선언했다가는…
소개 EarlGrey project has begun its history at April, 2009. Every co-founder, gwkang, initialjk, joe.joey, banyaji, and kaistizen once worked together to build a 3D social network service and deliver…
개요 Earlgrey 라이브러리는 기본적으로 Visual Studio 2008 + Feature Pack 조합이면 별도의 작업을 하지 않아도 빌드가 된다. 그러나 구미에 맞게 외부 라이브러리와 연동하거나 성능 및 기능 옵션을 조정할 수도 있다.…
Introduction Earlgrey has now two kinds of build tools. Third-party tools Custom tools Third-party tools Build tools developed by other open source communities are now placed in /trunk/vendor path. We…
주의 Common problems in multi-core programming, Part 2: Heavily contended locks 중 핵심만 발췌 번역한 글이다. 과도한 잠금 경합 경쟁 조건을 방지하려고 잠금을 사용하면, 잠금에 대한 경합이 지나치게 발생하여 성능…
스레드, 데이터 경쟁, 교차 잠금, 라이브 잠금 Common problems in multi-core programming, Part 1: Threads, data races, deadlocks, live locks 중 핵심만 발췌 번역한 글이다. 지나치게 많은 스레드 스레드가 너무…
스레드, 데이터 경쟁, 교차 잠금, 라이브 잠금 Common problems in multi-core programming, Part 1: Threads, data races, deadlocks, live locks 중 핵심만 발췌 번역한 글이다. 지나치게 많은 스레드 스레드가 너무…
UnityBuild는 C++ 에 적용 가능한 컴파일 기법이다. 일부 상황에서, 특히 대규모 프로젝트에서 컴파일 시간을 놀랄 만큼 줄여준다고 한다. 이 기법을 Xoreax Incredibuild와 같은 분산 빌드 도구와 함께 사용하면 극적으로 성능…
프로세스 프로세스 우선순위: 클래스 ProcessInitializer 스레드 성능 개선하기 암달의 법칙 성능은 프로세서의 개수에 비례하지 않는다 싱글프로세서에서 작업시간 1이 걸리는 일을 프로세서가 5개인 머신에서는 작업시간이 1/5로 줄어야 하지만, 현실적으로 불가능하다. 왜냐하면,…