최적화 코딩 법

김정민·2023년 6월 1일
0

전체적인 tip

목록 보기
1/5

다음은 효율적인 프로그램개발을 위해 기억해야할 점이다.

  1. 시그널 핸들러를 쓸때는 printf말고 write같은 reentrant한 것을 사용(시스템 소프트웨어)

  2. locality를 고려하는 것은 가장 기본적이고, 쉬우면서, 의무적인 최적화 코딩법. (시스템 소프트웨어, 컴퓨터 구조, os)

  • locality란 ?

    • 프로그램의 작동 흐름은 메모리의 특정주소를 찾아가서 데이터를 읽어오고 특정 주소로 찾아가서 데이터를 쓰는 행위들이 기본이다. 그 특정 주소 를 빠르게 찾을 수록 실행 속도가 빨라진다.

    • Temporal Locality : 최근에 접근했던 주소값을 다시 접근할 확률이 높다.

      • Loop문 안의 x = V[i], Stack 등
    • Spartial Locality : 최근 접근 했던 주소값의 근천 주소들을 접근할 확률이 높다.

      • Sort, Array, Sequential instruction 등
  1. 브랜치를 최소화하자, 브랜치는 cpu 파이프라인의 최대의 적! (컴퓨터 구조)
    • if, switch 와 같은 분기문 사용 자제
  2. 함수는 한가지 일만 하기
  3. template method pattern, strategy method pattern 준수 (소프트웨어 공학)
  4. mvc 패턴 준수
profile
computer science engineering

0개의 댓글

관련 채용 정보