and so on
strcat 실행시간 측정
밀크빵
2009. 9. 29. 06:39
strcat함수는 문자열에서 널 문자를 찾아가 종결자를 찾아내면, 문자열을 돌아다니며, 한 번에 글자 하나씩을 복사해서 첫째 문자열 뒤여주는 역할을 하기 때문에, strcat의 실행시간이 늦은 이유는 첫 부분이 매번 널 문자를 찾아 목적지 문자열을 헤매 다녀야 하기 때문이라고 생각이 든다.
따라서 문자열의 끝을 가리키는 포인터를 반환하여 문자열을 새로 읽지 않고서도 덧붙이는 장소를 결정할 수 있는 최적화된 mystrcat 함수를 새로 작성하였다.
- mystrcat 함수
- strcat 사용
네모친 부분이 strcat 사용 부분이고, a라는 글자 뒤에 z라는 글자를 3000번 붙여주었다. (시간 측정을 위해서 3000번을 사용하였고, 한 두번 붙여줄 시에는 수행시간이 0.00이 나오게 된다.)
- 실행시간 비교
strcat와 mystrcat 두 함수 모두 3000번씩 사용 하였는데, strcat는 수행시간이 14.187이 나왔고 mystrcat는 수행시간이 13.843이 나와 기존에 있는 strcat 함수가 느리다는 결과가 나왔다.