filemerge(improved)
TRANSCRIPT
File Merge 2 차20123352 김혜진
CONTENTS
Ⅱ. 성능분석Ⅰ. 코드개선
FILE 형 fout Reverse 함수
Buffer strtok_r 사용
fstat 사용
read
실행시간
성능분석
Ⅰ. 코드개선FILE 형 fout Reverse 함수
Buffer strtok_r 사용
fstat 사용
read
Ⅰ. 코드개선
이전 코드에서 fout 출력에 문제가 있어 원래대로 FILE 형 fout으로 바꿈
FILE 형 fout FILE foutint fout
Ⅰ. 코드개선
원래 readaline_and_out 함수에서 reverse 함수를 호출하였으나 reada-line_and_out 함수를 없애고 main 에서 직접 reverse 함수를 호출하도록 함 .
Reverse 함수
Ⅰ. 코드개선
setvbuf 함수를 사용하여 버퍼링타입과 버퍼크기를 지정하여 효율성을 높임BSIZE 를 1024 에서 128 로 줄여 보았으나 성능의 향상은 없었음
Buffer
Ⅰ. 코드개선
malloc() 함수를 사용하여 file 을 buffer 에 할당함
Ⅰ. 코드개선
strtok_r() 함수로 포인터의 buffer 를 사용하여 주어진 문자열을 파싱함
strtok_r 사용
Ⅰ. 코드개선
fstat() 함수를 사용하여 해당하는 파일을 받아 stat 구조체에 정보를 저장함 함수 호출에 실패할 경우 error 처리
fstat 사용
Ⅰ. 코드개선
read() 함수의 파라미터를 위와 같이 변경read 의 호출을 readaline_and_out 함수에서 main 함수로 변경
read
Ⅱ. 성능분석실행시간
성능분석
Ⅱ. 성능분석
실행시간
5 번 실행 평균 34.28 sec원래의 실행평균인 109 sec 에서 크게 감소함
성능 = 34.28 / 109.82 = 0.31
Ⅱ. 성능분석
성능분석 정보수집
성능분석 정보결과
성능분석
Ⅱ. 성능분석
Event count
성능분석