본문 바로가기

Language/C++최적화2

C++최적화 (2단원) 2. 컴퓨터 하드웨어의 최적화 - 왜 최적화가 필요한지 알 수 있다. - 프로세서의 구조를 통해서 어떤 방법으로 최적화해야 하는지 유추하는 방법을 알아봄. C++은 컴퓨터의 거짓말을 믿습니다. C++ 프로그램은 '마치' 명령문을 순서대로 실행하는 것처럼 작동하기만 하면 됩니다. C++ 컴파일러와 컴퓨터 자체는 계산의 의미가 변경되지 않은 선에서 실행순서를 변경하여 프로그램 실행을 빠르게 할 수도 있습니다. C++11부터는 단일 실행 주소만 있다고 믿지 않습니다. 이제 C++표준 라이브러리는 스레들 시작 및 중지하고 스레드 간에 메모리 접근을 동기화하는 기능을 제공한다. 특정 메모리 주소는 일반 메모리가 아닌 장치 레지스터가 될 수 있다. 동일한 스레드가 두 번 연속해서 읽는 사이에 변할 수 있으며,이는 .. 2021. 9. 21.
C++최적화 (1단원) 1.1 최적화는 소프트웨어 개발의 일부입니다. : 최적화 역시 코딩에 속한다. 최적화가 이루어지는 단계 전통적인 소프트웨어 개발 프로세스 : 프로젝트 통합 및 테스트 단계 애자일 프로세스 : 프로토타입으로 빠르게 기능 구현 최적화의 목표 속도, 메모리 사용량, 전력 소비 등에 대한 고객의 요구를 충족 성능저하는 버그나 기능 누락처럼 용납할 수 없는 문제일 수 있다. 버그 수정 vs 성능 향상 버그 수정 : ‘있다/없다’로 판단 성능 향상 : 지속해서 이어지는 범위, 느린 곳을 개선하면 그 다음 느린 곳을 개선함. 최적화는 과학적 사고방식을 더 많이 요구하는 과학 실험이다. 관찰 -> 검증 -> 가설 -> 지지 or 반박 -> 측정 실험 1.2 최적화는 효과적입니다. 숙련된 팀이 많은 시간을 들여 작성한 .. 2021. 9. 17.