+ All Categories
Home > Software > Merge version 2

Merge version 2

Date post: 06-Jan-2017
Category:
Upload: -
View: 87 times
Download: 0 times
Share this document with a friend
13
Reverse & Merge 국국국국국 국국국국국국 20113336 국국국
Transcript

Reverse & Merge국민대학교 컴퓨터공학부

20113336 채한울

Index1. Program 설명2. 기존 코드 및 개선된 코드 성능 측정 결과3. 개선 방법4. 새로 개선된 사항

Merge.c2 개의 file 을 읽어 line by line 으로 reverse 한 후1 line 씩 교차하여 1 개의 file 로 merge 하는 프로그램

기존 코드 성능 측정 결과1 차 : 75.49s

2 차 : 75.73s

3 차 : 78.08s

4 차 : 68.52s

5 차 : 77.30s

Average : 75.02s

개선된 코드 성능 측정 결과1 차 : 7.16s

2 차 : 10.65s

3 차 : 9.36s

4 차 : 9.83s

5 차 : 9.55s

Average : 9.31s

성능 측정 결과 비교

기존 코드보다 약 8.06 배 빨라졌다 .

성능 = Improved / Original

= 0.12

성능 개선 방법 1기존 한 글자씩 읽던 file I/O 함수들 (fopen, fgetc, fputc) 을 open, read, write 함수로 바꾸고input/output file size 의 배열을 할당하고1 번씩의 system call 만을 사용하여 file 을read/write 한다 .

성능 개선 방법 2읽어온 file 을 line by line 으로reverse 와 동시에 merge 하여 배열에 저장한다 .

성능 개선 방법 3병렬화를 쉽게 해주는 OpenMP library 를 사용한다 .

Line by line 으로 reverse & merge 를 수행할 때앞 , 뒤 구간을 나눠 multi-threading 한다 .

새로 개선된 사항1. File I/O, Memory allocation 시의 exception handling

2. 이해하기 어려운 goto 문 제거3. Function, section 에 맞는 주석 추가4. 전역변수 제거5. 일관성 있는 코드 스타일로 수정6. 2 개의 Input file 의 크기가 달라도 가능하도록 수정

File I/O, Memory allocation 시의 exception handling

이해하기 어려운 goto 문 제거

감사합니다


Recommended