티스토리 뷰

PS

c++ Optimized

Aaron 2020. 4. 7. 22:12
반응형

코드 최적화

연산

  1. 나눗셈 피하기

    • 비트 연산 활용(배열의 크기를 2의 승수로)

    • Shift 연산 활용

    • 곱셈으로 대체

  2. 조건문의 조건이 많다면 나눠서 사용

    • 조건식에서 느린 연산은 뒤로

    • 자주 사용되는 케이스를 앞 쪽에

  3. 반복문, 조건문 최대한 줄이기

    • 조건문 사용 시 삼항 연산자가 더 빠른 속도

  4. 연산 결과를 저장하여 사용 (연산 횟수 줄이기)

변수

  1. 음수가 아니라면 int 형대신에 **unsigned int**형을 사용

    • 부동 소수점 (float, double) 은 되도록 사용하지 않기

  2. 지역 변수는 가능한 제일 안 쪽 스코프에서 선언

  3. CHAR, SHORT 보다는 INT 를 사용

  4. 변수 대입보다는 변수 초기화를 사용

  5. 변수 선언 위치에 따라서도 속도 변화

  6. 형변환이 잦을 시 속도 저하

함수

  1. 짧은 함수는 함수를 직접 삽입하여 사용

  2. 값 복사보다는 const &(참조) 로 값을 넘기고 리턴

    • 포인터 사용

  3. 파라미터 숫자 줄이기


Optimized C++

1.자주 반복되는 부분을 찾아서 최적화

  • 코드의 10%만이 실행시간의 90%를 차지

2.문자열

  • 성능 병목을 가장 큰 원인 중 하나가 문자열(std::string.)

3.동적할당을 최소화

  • 메모리 관리자를 호출하는 비용은 생각보다 무거움

  • 동적할당의 횟수를 줄이고 불필요한 할당을 제거

4.문장보단 로직을 개선

  • 장을 고치는 것은 큰 성능향상이 힘들뿐만 아니라 이식성도 별로 좋지 않음

  • 문장에 대한 건 보통 컴파일러가 알아서 최적화

reference

반응형

'PS' 카테고리의 다른 글

[Github] fork 사용하기(다른 저장소 내려받기)  (0) 2019.09.04
[Github] GitHub 사용하기  (0) 2019.09.04
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday