C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[22958] [질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기.
태즈 [taz1000] 899 읽음    2002-12-02 12:29
10000 * 5 = 5만라인 정도의 내용을 가지는 텍스트를 읽어서 데이타를 뽑으려 합니다.
각라인에는 7개의 float 변수값이 표시되어있습니다.

이걸 RichEdit 로 읽어온뒤에,
for( n = 0 ; n < max ; n ++ ) {
   sscanf( RichEdit1->Lines->Strings[ n ].c_str(), " %f %f %f %f %f %f %f ", &x, &y, &z, &r, &g, &b, &a ) ;
  
   //-- 읽어온 데이터들 처리루틴..
   ~~~
   ~~~
}

이러한 방식으로 7개 변수값을 추출하고 있습니다.
6만라인을 처리하는데 생각보다 너무 많은 시간이 걸리네요.
요부분을 빼고 연산하는 부분만 6만번 돌리는 데는 시간이 별로 안 걸리더군요.
그래서 '아마도' 이 부분에서 시간을 많이 잡아먹는 것 같은데..

이걸 빠르게 구현하려면 어떻게 해야할까요..

---------------------------------------

추가적으로 몇가지 테스트를 해보았습니다.
테스트할 파일의 길이를 달리하여 테스트한 것입니다.
라인수 증가에 따라서 걸리는 시간이 일차적으로 비례하지 않고 있네요.
테스트 벡터의 내용은 거의 비슷하기에, 연산량의 차이는 없다고 보고요.

5000 라인 :  1초미만
10000 라인 : 1.5초정도.
20000 라인 : 10초정도.
30000 라인 : 23초정도
40000 라인 : 41초정도.

60000 라인 : 110초.

어찌해야할까요...
--------------------------------------------

여전한 극초보 태즈였습니다.
감사합니다.

+ -

관련 글 리스트
22958 [질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 태즈 899 2002/12/02
31286     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 김상구.패패루 996 2002/12/02
31285     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 김상구.패패루 1036 2002/12/02
31284     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 태즈 910 2002/12/02
31283     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 태즈 1000 2002/12/02
31282     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 김백일.cedar 923 2002/12/02
31281     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 김백일.cedar 973 2002/12/02
22987     Re:[감사] 우선 FILE, fread, fwrite 등으로 해결했습니다. 태즈 2109 2002/12/03
22980     Re:[소스] 파일입출력으로다 한번 해보심이... 나그네 1548 2002/12/03
22967     Re:[질문] 6만라인 파일 빨리 읽고, 각 라인을 scanf하기. 나그네 1058 2002/12/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.