SlideShare a Scribd company logo
1 of 11
고급 시스템 프로그래밍
컴퓨터공학부 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);
}
Gen에서 만들어진 file : /tmp/file_0001
Gen에서 만들어진 file : /tmp/file_0002
Reverse 결과
성능 측정
 기존 merge 성능
$ ./merge /tmp/file_0001 /tmp/file_0002 f_out
Processing time = 106.19846 sec
성능 측정
 수정한 merge 성능
성능 측정
 fopen ,fputc, fgetc 를 open, read, write 로 수정하
려고 하였지만, 계속 되는 error 발생으로 성능 향상
에 실패하였다.
마침
Merge 성능 측정

More Related Content

Viewers also liked

Clairmont-PackingParachute-WhitePaper 8.10.16
Clairmont-PackingParachute-WhitePaper 8.10.16Clairmont-PackingParachute-WhitePaper 8.10.16
Clairmont-PackingParachute-WhitePaper 8.10.16Michael Hale
 
Big-Data-The-Case-for-Customer-Experience
Big-Data-The-Case-for-Customer-ExperienceBig-Data-The-Case-for-Customer-Experience
Big-Data-The-Case-for-Customer-ExperienceAndrew Smith
 
Resume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBAResume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBATushar Kanti
 
High Quality Programs for Early Childhood Education
High Quality Programs for Early Childhood Education High Quality Programs for Early Childhood Education
High Quality Programs for Early Childhood Education Chantoria Scott
 
Redes sociales: optimización y puesta a punto
Redes sociales: optimización y puesta a puntoRedes sociales: optimización y puesta a punto
Redes sociales: optimización y puesta a puntoFernando de los Ríos
 

Viewers also liked (7)

Unidad 3 logaritmos
Unidad 3 logaritmosUnidad 3 logaritmos
Unidad 3 logaritmos
 
Thesis swati
Thesis swatiThesis swati
Thesis swati
 
Clairmont-PackingParachute-WhitePaper 8.10.16
Clairmont-PackingParachute-WhitePaper 8.10.16Clairmont-PackingParachute-WhitePaper 8.10.16
Clairmont-PackingParachute-WhitePaper 8.10.16
 
Big-Data-The-Case-for-Customer-Experience
Big-Data-The-Case-for-Customer-ExperienceBig-Data-The-Case-for-Customer-Experience
Big-Data-The-Case-for-Customer-Experience
 
Resume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBAResume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBA
 
High Quality Programs for Early Childhood Education
High Quality Programs for Early Childhood Education High Quality Programs for Early Childhood Education
High Quality Programs for Early Childhood Education
 
Redes sociales: optimización y puesta a punto
Redes sociales: optimización y puesta a puntoRedes sociales: optimización y puesta a punto
Redes sociales: optimización y puesta a punto
 

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

10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스웅식 전
 
10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스유석 남
 
05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체유석 남
 
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
 
파이썬 스터디 15장
파이썬 스터디 15장파이썬 스터디 15장
파이썬 스터디 15장SeongHyun Ahn
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로Jaeseung Ha
 
5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing웅식 전
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)SeongHyun Ahn
 
Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6승태 김
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01seonhyung
 
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
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1happychallenge
 
Modern C++의 타입 추론과 람다, 컨셉
Modern C++의 타입 추론과 람다, 컨셉Modern C++의 타입 추론과 람다, 컨셉
Modern C++의 타입 추론과 람다, 컨셉HyunJoon Park
 
불어오는 변화의 바람, 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 명신 김
 
Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017Insuk (Chris) Cho
 

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

10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스10장 문자열클래스와파일클래스
10장 문자열클래스와파일클래스
 
10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스
 
05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체05장 논리적 자료표현: 구조체
05장 논리적 자료표현: 구조체
 
Python machine learning Ch.4
Python machine learning Ch.4Python machine learning Ch.4
Python machine learning Ch.4
 
6 function
6 function6 function
6 function
 
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기
 
파이썬 스터디 15장
파이썬 스터디 15장파이썬 스터디 15장
파이썬 스터디 15장
 
Mylab
MylabMylab
Mylab
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
 
5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)
 
06장 함수
06장 함수06장 함수
06장 함수
 
Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01
 
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
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
Python
PythonPython
Python
 
Modern C++의 타입 추론과 람다, 컨셉
Modern C++의 타입 추론과 람다, 컨셉Modern C++의 타입 추론과 람다, 컨셉
Modern C++의 타입 추론과 람다, 컨셉
 
불어오는 변화의 바람, 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
 
Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017
 

고급 시스템 프로그래밍