본문 바로가기

프로그래밍29

std::string 간단히 속도 테스트를 해보았다.. 2011-02-18 내용수정 >> 결론 4번 /////////////////////////////////////////////////////////////////////////////// std::string 간단히 속도 테스트를 해보았다.. 테스트 방법은 vs 2008 에서 콘솔 프로젝트를 생성하고 설정은 기본으로 만들어진 그대로 진행하였다. 최적화는 기본으로 속도 최적화로 설정 되어있었다.. #include "stdafx.h" #include #include #include #include #pragma comment(lib, "Winmm") #define printLine(x) std::cout 2011. 2. 1.
Visual Studio 에서 명령 창 도구 사용하는 방법 Visual Studio 에서 명령 창 도구 사용하는 방법 http://msdn.microsoft.com/ko-kr/library/c785s0kz.aspx http://msdn.microsoft.com/ko-kr/library/c3a0kd3x.aspx 명령창에 간단한 계산도 되고 복잡한건 아직 안해봐서 모르겠음.. >? 1+1 2 >? sizeof(bool) 1 2011. 1. 28.
STL 컨테이너들의 사이즈를 한번 출력해 봤다.. #include "stdafx.h" #include #include #include #include #include #include #include #define print_sizeof(x) std::cout deque1; print_sizeof(deque1); std::queue queue1; print_sizeof(queue1); } 각 컨테이너의 요소에 넣는 타입은 어떤걸 넣어도 같은 사이즈가 나왔다.. 2011. 1. 24.
Windows CPU 효율 향상을 위한 프로그래밍시 데이터 정렬 아래의 포스팅 내용은 100%정확한 내용이라고 할수 없으며 틀린점이 있으면 지적해주시면 감사하겠습니다. Windows CPU 효율 향상을 위한 프로그래밍시 데이터 정렬 BYTE ALIGNMENT , DATA ALIGNMENT CPU에서 메모리의 데이터를 읽어올때 2바이트 메모리의 경우 (WORD 형 데이터 라던지.) 메모리의 주소가 2로 나누어 떨어지는 위치. 4바이트 메모리의 경우 4로 나누어 떨어지는 위치가 효율이 좋다고 한다. void func( void* buff ) { // 첫 주소의 1바이트 읽기 char c = *((char*)buff); // 첫 바이트 제외한 주소 2~5까지의 4바이트 데이터 읽기 int buff2 = *(int*)((char*)(buff)+1); } 위와 같은 방식으로 .. 2011. 1. 21.