고급시스템 프로그래밍
Advanced system programming
- File Merge program -
전자공학부
20113144
심승범
◎ 2차전 기본 수정사항
1. #define을 이용한 매크로 사용시 소문자가 아닌 대문자로 수정
#define len 104857600  #define LEN 104857600
2. 코드 통일성 수정
if (arge != 4 ){ --- } if(arge != 4){---}
- -
-  -
- -
if((readaline_and_out(---){ if((readaline_and_out(---){
3. 오류 발생시 할당 받은 메모리를 free해주는 작업 추가
소요된 시간 : 16.897485 sec
Task-clock : 12469.908482
Cycles : 11,185,986,420
Branches : 1,137,342,741
Branch-misses : 102,141,502
* 소요시간은 stdout으로 출력된 시간을 바탕으로 함
fwrite활용 코드 5회 평균값
5회 평균으로 15.486612의 결과를 얻음
이전의 코드에서는 fwrite와 fputc를
이용.
 fprintf를 이용하여 하나로 합침
성능이 좋아짐을 확인 할 수 있었다.
perf report를 확인해본 결과
origin에 비해서 파일 입출력시에
드는 비용이 많이 감소한 것을 확인
◎ 성능 비교
• 성능 = (최종 버전 실행 시간) / (Template 실행 시간)
• 5회 평균값을 기준으로 비교
origin - 74.9979288 sec new - 13.5529876
sec
13.5529876 / 74.9979288 =
0.180711

Merge pt 2

  • 1.
    고급시스템 프로그래밍 Advanced systemprogramming - File Merge program - 전자공학부 20113144 심승범
  • 2.
    ◎ 2차전 기본수정사항 1. #define을 이용한 매크로 사용시 소문자가 아닌 대문자로 수정 #define len 104857600  #define LEN 104857600 2. 코드 통일성 수정 if (arge != 4 ){ --- } if(arge != 4){---} - - -  - - - if((readaline_and_out(---){ if((readaline_and_out(---){ 3. 오류 발생시 할당 받은 메모리를 free해주는 작업 추가
  • 3.
    소요된 시간 :16.897485 sec Task-clock : 12469.908482 Cycles : 11,185,986,420 Branches : 1,137,342,741 Branch-misses : 102,141,502 * 소요시간은 stdout으로 출력된 시간을 바탕으로 함
  • 4.
    fwrite활용 코드 5회평균값 5회 평균으로 15.486612의 결과를 얻음
  • 5.
    이전의 코드에서는 fwrite와fputc를 이용.  fprintf를 이용하여 하나로 합침 성능이 좋아짐을 확인 할 수 있었다.
  • 6.
    perf report를 확인해본결과 origin에 비해서 파일 입출력시에 드는 비용이 많이 감소한 것을 확인
  • 7.
    ◎ 성능 비교 •성능 = (최종 버전 실행 시간) / (Template 실행 시간) • 5회 평균값을 기준으로 비교 origin - 74.9979288 sec new - 13.5529876 sec 13.5529876 / 74.9979288 = 0.180711