회식으로 인해 과감하게 3일차 과정을 넘기고 4일차 과정을 듣게 되었습니다. 몹시나 불편하고 마음에 걸렸지만 그래도 회사일은 어쩔 수 없다고 비겁한 변명을 시작으로 강의 준비를 합니다.
====================================== 1 ======================================
( 19 : 04 ~ 19 : 50 )
자동 형변환에 대해서 수업을 진행하셨습니다.
자동 형변환은 개발자도 모르는 사이에(알 수도 있죠) 일어나고 확인이 되지 않을 수 있으므로 주의를 요합니다.
어제 PC에 ubuntu를 설치하셨던 것 같습니다. PW를 알 수가 없어서 답답합니다. 이래서 수업을 하루 빠지는것은 참 불편합니다.
단축키 정리 Ctrl + Alt + T -> 우분투에서 터미널을 열어줍니다.
gcc hello.c -o hello
앞의 굵은 글씨는 코드파일이름, 뒤의 굵은 글씨는 실행파일의 이름을 입력하시면 됩니다.
ubuntu의 계정은 test/test였습니다.
====================================== 2 ======================================
( 20 : 02 ~ 20 : 53)
책의 54페이지 컴파일 과정에 대해서 수업을 진행하셨습니다.
gcc -v --save-temp -o hello hello.c
다른 옵션으로 컴파일을 하여 결과를 확인하였습니다.
어셈블리 파일을 확인하는 것은 CPU에서 명령이 수행되는 것을 이해하는 데에 도움이 된다고 하셨습니다.
최적화에 대해 첫날과 같은 이야기를 간단히 한번 더 해 주셨습니다.
====================================== 3 ======================================
( 21 : 05 ~ 21 : 47)
반복문 최적화 에 대해 수업을 진행하셨습니다.
생각보다 바보같으면서도 뭔가 성능을 향상시키는 방법들이 있었습니다.
루프를 병합하거나 반복 수행횟수를 줄이며 반복문 안에 중복된 코드를 넣는 방법(루프 언롤링)도 있었습니다.
재귀함수가 위험한 이유라는 주제로 실습과 강의가 진행 되었는데 피보니치 수열을 50개까지 출력하는 프로그램을 만들어서 확인을 해 보았습니다.
대략 2분이 소요되었습니다.
속도의 차이를 확실하게 느끼기 위해 반복문을 사용한 프로그램으로 변경하여 진행을 해 보겠습니다.
시간이 50분의 1 혹은 체감상 60분의 1정도 소요되었습니다. 대략 2분걸리던 것이 대략 2초 걸리는 프로그램으로 바뀌었습니다.
신기한 것은 반복문으로 작성한 프로그램이 50개를 구하는 것 보다 99개를 구하는 것이 수행속도가 더 빠르다는 것 입니다. 물론 횟수는 2~3번정도만 확인을 해 보았지만 그 때 모두 서로 비슷학 결과로 99개가 1.6초근처, 50개가 2.5초 근처로 소요되는 것을 확인하였습니다.
'강의노트' 카테고리의 다른 글
[DB] MongoDB 프로그래밍 1일차 (0) | 2016.05.09 |
---|---|
[C ] C 코드 최적화 과정 5일차 (0) | 2016.04.08 |
[C ] C 코드 최적화 과정 2일차 (0) | 2016.04.05 |
[C ] C 코드 최적화 과정 1일차 (0) | 2016.04.04 |
[C++] C++ 프로그래밍 고급 5일차 (0) | 2016.04.01 |