게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
소스코드의 길이와 수행속도?
게시물ID : programmer_1038짧은주소 복사하기
작성자 : Codercat
추천 : 0
조회수 : 1312회
댓글수 : 12개
등록시간 : 2014/02/05 22:29:02
개발중에 zlib 라이브러리를 쓰다가 갑자기 예전일이 생각나서 끄적거려 보네요..ㅋ

이제 막 c언어를 배우기 시작하는 후배놈에게 아래의 두 코드를 보여준적이 있었는데.

두개의 함수중 어느녀석이 수행속도가 빠를까? 였습니다.;;

아직 초보인 후배녀석은 당연히 첫번째 녀석이 빠른거 아니냐고...당연히 코드가 짧고 많이 수행할 명령어가

없어서 빠르다!! 이렇게 주장을 펼치더라고요..ㅋㅋ 

(참고로 아래의 두 함수는 데이터의 crc 값을 구하는 함수, 오유 굇수 개발자들은 이미 알고 계시겠죠?ㅜ 뉴비는 늅늅하고 웁니다.ㅜ)

adler_simple.png

( http://en.wikipedia.org/wiki/Adler-32 에서 위 소스 그대로 구할수 있습니다.)

adler_zlib.png

(zlib 에서의 adler 32 함수, 위의 소스는 http://www.zlib.net/ 에서 구할 수 있습니다. 라이센스 문제도 자유롭답니다.ㅋ)



임의로 채워진 데이터 크기 2048 , 총 20억번 반복 계산을 수행후

전 웃으면서 아래와 같이 결과를 보여주었습니다. (결과는 milisecond 가 아닌 microsecond 입니다 1milisec = 1000 microsec)


adler_Result.png

"후배녀석아 보거라... 코드가 짧고 똑같은 일을 수행한다고 해서 

무조건 빠른건 아니란다.. " 이렇게 알려주었죠... 그때 후배의 벙찐 모습은..;; 정말..ㅋ


가끔씩 코드를 작성하면서 , 코드의 길이와 가독성, 수행속도에 대해 다시금 성찰하게 되는 에피소드 였네요..;;



전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호