SlideShare a Scribd company logo
1 of 8
고급 시스템 프로그래밍
컴퓨터공학부 20143081 유정희
목표
 Gen.c 로 두개의 파일을 만든다.
 파일을 line-by-line으로 reverse하여 출력한다.
 성능을 좋게 만든다.
 성능=(최종버전 실행시간)/(Template실행시간)
 Rasberry PI에서 성능을 비교하여 측정한다.
Reverse
 파일을 읽어서 reverse하여 거꾸로 출력하도록 한다.
1. 새로운 배열 str[]을 만들어 읽은 문자를 저장한다.
2. Count를 늘려가며 line의 끝까지 읽는다.
3. 읽은 파일을 뒤에서부터 출력한다.
Reverse
int ch, count,k,q = 0; //변수 선언
char str[200] = { 0 }; //배열을 만든다.
do {
if ((ch = fgetc(fin)) == EOF) {
…
}
str[k] = ch; //파일에서 읽은 문자를 배열에 저장
k++;
count++;
} while (ch != 0x0a);
for (q = k; q >= 0; q--) //끝에서부터 출력한다.
{
fputc(str[q], fout);
}
Reverse 결과
성능 측정
 기존 merge 성능
$ ./merge /tmp/file_0001 /tmp/file_0002 f_out
Processing time = 106.19846 sec
 수정한 merge 성능
$ ./merge /tmp/file_0001 /tmp/file_0002 f_out
Processing time = 102.32543 sec
성능 측정
 fopen ,fputc, fclose 를 open , read, write , close로
수정하려고 하였지만, 성능 향상에 실패하였다.
마침
Merge 성능 측정

More Related Content

What's hot

2017 cupc solution
2017 cupc solution2017 cupc solution
2017 cupc solutionJoona Yoon
 
2019 lightning talk_12
2019 lightning talk_122019 lightning talk_12
2019 lightning talk_12Dongho Yu
 
정보과학회 FTL논문 아이디어
정보과학회 FTL논문 아이디어정보과학회 FTL논문 아이디어
정보과학회 FTL논문 아이디어Jaemyung Kim
 
Data Structure 3
Data Structure 3Data Structure 3
Data Structure 3yonsei
 
NMEA0183 Parser 실습과제
NMEA0183 Parser 실습과제NMEA0183 Parser 실습과제
NMEA0183 Parser 실습과제Chang-yong Jung
 
amugona study 2nd
amugona study 2ndamugona study 2nd
amugona study 2ndwho7117
 

What's hot (7)

2017 cupc solution
2017 cupc solution2017 cupc solution
2017 cupc solution
 
Trafficlight
TrafficlightTrafficlight
Trafficlight
 
2019 lightning talk_12
2019 lightning talk_122019 lightning talk_12
2019 lightning talk_12
 
정보과학회 FTL논문 아이디어
정보과학회 FTL논문 아이디어정보과학회 FTL논문 아이디어
정보과학회 FTL논문 아이디어
 
Data Structure 3
Data Structure 3Data Structure 3
Data Structure 3
 
NMEA0183 Parser 실습과제
NMEA0183 Parser 실습과제NMEA0183 Parser 실습과제
NMEA0183 Parser 실습과제
 
amugona study 2nd
amugona study 2ndamugona study 2nd
amugona study 2nd
 

Viewers also liked

Scalone dokumenty (43)
Scalone dokumenty (43)Scalone dokumenty (43)
Scalone dokumenty (43)gemix gemix
 
Informe de RSC de Abengoa Water
Informe de RSC de Abengoa WaterInforme de RSC de Abengoa Water
Informe de RSC de Abengoa WaterAbengoa
 
Clint Britt _ Six Sigma Project _ MFP_ June2016
Clint Britt _ Six Sigma Project _ MFP_ June2016Clint Britt _ Six Sigma Project _ MFP_ June2016
Clint Britt _ Six Sigma Project _ MFP_ June2016Clint Britt
 
Memoria Nueva Canarias Congreso de los Diputados X Legislatura
Memoria Nueva Canarias Congreso de los Diputados X LegislaturaMemoria Nueva Canarias Congreso de los Diputados X Legislatura
Memoria Nueva Canarias Congreso de los Diputados X LegislaturaNueva Canarias-BC
 
Writing Sample Parrish
Writing Sample ParrishWriting Sample Parrish
Writing Sample ParrishNicholas Weiss
 
Dietetyk 321[11] o1.03_u
Dietetyk 321[11] o1.03_uDietetyk 321[11] o1.03_u
Dietetyk 321[11] o1.03_ugemix gemix
 
Scalone dokumenty (12)
Scalone dokumenty (12)Scalone dokumenty (12)
Scalone dokumenty (12)gemix gemix
 
Displaying time on a seven segment display using raspberry pi
Displaying time on a seven segment display using raspberry pi Displaying time on a seven segment display using raspberry pi
Displaying time on a seven segment display using raspberry pi Ashok Kumar
 
Built giay phep
Built giay phepBuilt giay phep
Built giay pheplinhpn1810
 
کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395
کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395
کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395ALI MOHAMMADI
 
Resume provided on request
Resume provided on requestResume provided on request
Resume provided on requestMohammed Sadiq
 

Viewers also liked (20)

Scalone dokumenty (43)
Scalone dokumenty (43)Scalone dokumenty (43)
Scalone dokumenty (43)
 
Informe de RSC de Abengoa Water
Informe de RSC de Abengoa WaterInforme de RSC de Abengoa Water
Informe de RSC de Abengoa Water
 
Conflictos lus
Conflictos lusConflictos lus
Conflictos lus
 
Clint Britt _ Six Sigma Project _ MFP_ June2016
Clint Britt _ Six Sigma Project _ MFP_ June2016Clint Britt _ Six Sigma Project _ MFP_ June2016
Clint Britt _ Six Sigma Project _ MFP_ June2016
 
Memoria Nueva Canarias Congreso de los Diputados X Legislatura
Memoria Nueva Canarias Congreso de los Diputados X LegislaturaMemoria Nueva Canarias Congreso de los Diputados X Legislatura
Memoria Nueva Canarias Congreso de los Diputados X Legislatura
 
Writing Sample Parrish
Writing Sample ParrishWriting Sample Parrish
Writing Sample Parrish
 
Delitos informaticos
Delitos informaticosDelitos informaticos
Delitos informaticos
 
Abril14
Abril14Abril14
Abril14
 
Dietetyk 321[11] o1.03_u
Dietetyk 321[11] o1.03_uDietetyk 321[11] o1.03_u
Dietetyk 321[11] o1.03_u
 
Boletín XXXIV octubre 2015
Boletín XXXIV octubre 2015Boletín XXXIV octubre 2015
Boletín XXXIV octubre 2015
 
Scalone dokumenty (12)
Scalone dokumenty (12)Scalone dokumenty (12)
Scalone dokumenty (12)
 
Salazar zoraida
Salazar zoraidaSalazar zoraida
Salazar zoraida
 
Displaying time on a seven segment display using raspberry pi
Displaying time on a seven segment display using raspberry pi Displaying time on a seven segment display using raspberry pi
Displaying time on a seven segment display using raspberry pi
 
Ijazah
IjazahIjazah
Ijazah
 
Plantilla icontec
Plantilla icontecPlantilla icontec
Plantilla icontec
 
Built giay phep
Built giay phepBuilt giay phep
Built giay phep
 
کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395
کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395
کارگاه بازاریابی، فروش و مذاکرات تلفنی استاد علی محمدی جلسه دوم 29ام مهرماه 1395
 
Boletín XV abril 2015
Boletín XV abril 2015Boletín XV abril 2015
Boletín XV abril 2015
 
US2016TrainingSpeakerBrochure
US2016TrainingSpeakerBrochureUS2016TrainingSpeakerBrochure
US2016TrainingSpeakerBrochure
 
Resume provided on request
Resume provided on requestResume provided on request
Resume provided on request
 

Similar to 고급 시스템 프로그래밍

20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crowJaeseung Ha
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로Jaeseung Ha
 
10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스웅식 전
 
Python machine learning Ch.4
Python machine learning Ch.4Python machine learning Ch.4
Python machine learning Ch.4PartPrime
 
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기Jongwook Choi
 
5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing웅식 전
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1happychallenge
 
10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스유석 남
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 명신 김
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)SeongHyun Ahn
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01seonhyung
 
파이썬 스터디 15장
파이썬 스터디 15장파이썬 스터디 15장
파이썬 스터디 15장SeongHyun Ahn
 
05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체유석 남
 
파이썬2.7 기초 공부한 것 정리
파이썬2.7 기초 공부한 것 정리파이썬2.7 기초 공부한 것 정리
파이썬2.7 기초 공부한 것 정리Booseol Shin
 
15 2. arguement passing to main
15 2. arguement passing to main15 2. arguement passing to main
15 2. arguement passing to main웅식 전
 

Similar to 고급 시스템 프로그래밍 (20)

6 function
6 function6 function
6 function
 
20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crow
 
06장 함수
06장 함수06장 함수
06장 함수
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
 
10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스
 
Python machine learning Ch.4
Python machine learning Ch.4Python machine learning Ch.4
Python machine learning Ch.4
 
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기
 
5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
 
Mylab
MylabMylab
Mylab
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
강의자료 2
강의자료 2강의자료 2
강의자료 2
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01
 
파이썬 스터디 15장
파이썬 스터디 15장파이썬 스터디 15장
파이썬 스터디 15장
 
05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체
 
파이썬2.7 기초 공부한 것 정리
파이썬2.7 기초 공부한 것 정리파이썬2.7 기초 공부한 것 정리
파이썬2.7 기초 공부한 것 정리
 
15 2. arguement passing to main
15 2. arguement passing to main15 2. arguement passing to main
15 2. arguement passing to main
 

고급 시스템 프로그래밍

  • 2. 목표  Gen.c 로 두개의 파일을 만든다.  파일을 line-by-line으로 reverse하여 출력한다.  성능을 좋게 만든다.  성능=(최종버전 실행시간)/(Template실행시간)  Rasberry PI에서 성능을 비교하여 측정한다.
  • 3. Reverse  파일을 읽어서 reverse하여 거꾸로 출력하도록 한다. 1. 새로운 배열 str[]을 만들어 읽은 문자를 저장한다. 2. Count를 늘려가며 line의 끝까지 읽는다. 3. 읽은 파일을 뒤에서부터 출력한다.
  • 4. Reverse int ch, count,k,q = 0; //변수 선언 char str[200] = { 0 }; //배열을 만든다. do { if ((ch = fgetc(fin)) == EOF) { … } str[k] = ch; //파일에서 읽은 문자를 배열에 저장 k++; count++; } while (ch != 0x0a); for (q = k; q >= 0; q--) //끝에서부터 출력한다. { fputc(str[q], fout); }
  • 6. 성능 측정  기존 merge 성능 $ ./merge /tmp/file_0001 /tmp/file_0002 f_out Processing time = 106.19846 sec  수정한 merge 성능 $ ./merge /tmp/file_0001 /tmp/file_0002 f_out Processing time = 102.32543 sec
  • 7. 성능 측정  fopen ,fputc, fclose 를 open , read, write , close로 수정하려고 하였지만, 성능 향상에 실패하였다.