filemerge(improved)

14
ile Merge 2차 20123352 김김김

Upload: hyejin-kim

Post on 16-Apr-2017

20 views

Category:

Software


0 download

TRANSCRIPT

Page 1: FileMerge(improved)

File Merge 2 차20123352 김혜진

Page 2: FileMerge(improved)

CONTENTS

Ⅱ. 성능분석Ⅰ. 코드개선

FILE 형 fout Reverse 함수

Buffer strtok_r 사용

fstat 사용

read

실행시간

성능분석

Page 3: FileMerge(improved)

Ⅰ. 코드개선FILE 형 fout Reverse 함수

Buffer strtok_r 사용

fstat 사용

read

Page 4: FileMerge(improved)

Ⅰ. 코드개선 

이전 코드에서 fout 출력에 문제가 있어 원래대로 FILE 형 fout으로 바꿈

FILE 형 fout FILE foutint fout

Page 5: FileMerge(improved)

Ⅰ. 코드개선 

원래 readaline_and_out 함수에서 reverse 함수를 호출하였으나 reada-line_and_out 함수를 없애고 main 에서 직접 reverse 함수를 호출하도록 함 .

Reverse 함수

Page 6: FileMerge(improved)

Ⅰ. 코드개선 

setvbuf 함수를 사용하여 버퍼링타입과 버퍼크기를 지정하여 효율성을 높임BSIZE 를 1024 에서 128 로 줄여 보았으나 성능의 향상은 없었음

Buffer

Page 7: FileMerge(improved)

Ⅰ. 코드개선 

malloc() 함수를 사용하여 file 을 buffer 에 할당함

Page 8: FileMerge(improved)

Ⅰ. 코드개선 

strtok_r() 함수로 포인터의 buffer 를 사용하여 주어진 문자열을 파싱함

strtok_r 사용

Page 9: FileMerge(improved)

Ⅰ. 코드개선 

fstat() 함수를 사용하여 해당하는 파일을 받아 stat 구조체에 정보를 저장함 함수 호출에 실패할 경우 error 처리

fstat 사용

Page 10: FileMerge(improved)

Ⅰ. 코드개선 

read() 함수의 파라미터를 위와 같이 변경read 의 호출을 readaline_and_out 함수에서 main 함수로 변경

read

Page 11: FileMerge(improved)

Ⅱ. 성능분석실행시간

성능분석

Page 12: FileMerge(improved)

Ⅱ. 성능분석

실행시간

5 번 실행 평균 34.28 sec원래의 실행평균인 109 sec 에서 크게 감소함

성능 = 34.28 / 109.82 = 0.31

Page 13: FileMerge(improved)

Ⅱ. 성능분석

성능분석 정보수집

성능분석 정보결과

성능분석

Page 14: FileMerge(improved)

Ⅱ. 성능분석

Event count

성능분석