1. Hardware
- 자주 사용하는 자료구조는 32바이트의 배수로 정렬시켜 사용 ->
- 메모리 관리 함수는 따로 만들어 사용 -> 동적 메모리 할당/해제의 부하를 줄이기 위해 메모리 풀(pool) 사용 권장
2. Compiler
- 컴파일러(Visual Studio)의 최적화 옵션에서 '속도 최적화' 대신에 '코드 크기 최소화' 설정이 캐시 성능을 향상시켜
좀 더 빠른 코드를 얻을 수 있음
3. Syntex
- Switch() 사용시에는 연속된 수치 사용 -> 테이블 형태로 만들어서 조건분기문보다 빠르게 사용됨
case 0:
case 1:
case 2:
- for() < while() < do ~ while() 의 빠른 속도를 보여줌(캐시미스와 관련)
- timeGetTime()
컴퓨터가 켜진 시간부터 카운팅 됨. 오래 켜두면(49.71일) 오버 플로우 발생
4. Math
- 나눗셈 보다는 곱셈 으로 표현 -> 뺄셈(보수를 더함), 곱셈(여러번의 덧셈), 나눗셈(보수화된 덧셈을 여러번 수행)
- 수학함수는 가급적 피라고 룩업 테이블이나 비슷한 형태로 간략한 함수로 만들어서 사용
- 부동 소수점은 double 보다 float를 사용 -> double(39 cycle), float(19/8 cycle) 이 걸림
- float 형 일때는 반드시 뒤에 f를 붙여라 -> 더 빠름.
- 전위 연산자(++a 등)를 사용하라.
5. class
- 멤버 함수에는 const 를 사용하자 -> 한정자를 사용하면 컴파일라가 좀더 나은 최적화를 해줄 수 있다.