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
[36704] Re:루프 장시간 실행시 느려지는 문제.
유영인 Cuperido [cuperido] 919 읽음    2004-08-11 12:58
어떤것을 하는 루틴인지 몰라서 더 빠른 알고리즘을 드리기는 어렵지만,
처음에 빠르고 나중에 느린것은, 대부분 메모리에 관련된 부분입니다.

심지어, 메모미를 많이 사용하게 되면 하드디스크까지 메모리화 해서
사용을 하니, 당연히 시스템 메모리와 하드 디스크에서 읽는 속도는 당연히
차이가 나겠지요.

처리를 하신 후, 필요없는 메모리를 해제하시고 다시 할당하시는 그런 부분을
만들어 두신다면, 도움이 되실것 같습니다.


cuperido


권기식.별사랑 님이 쓰신 글 :
: 이전부터 가지고 있던 문제이자 의문이었는데요..
: 아래와 같은 루틴이 있습니다.
: 이 루틴을 적게는 백만번에서 수백만번, 천만번까지 돌게 되는데요..
: 초반에는 좀 빠르게 돌아갑니다... (프로그레스 바로 진행 상태를 출력합니다.)
: 점점 프로그레스 바 올라가는 속도가 느려집니다.
: 50% 정도 돌리고 나면 처음 속도의 50% 아래로 떨어지기 시작하더군요..
:
: 무슨 문제일까요?
: 루프 안에 또 루프, 비교... 이런 것들 때문일까요?
:
: 이것보다 좀더 빠른 알고리즘을 찾아야 할텐데... 머리가 안굴러가는군요.. 쩝
:
:     if(TopLight) {
:         for(int i = 0; i < cnt_x && !bStop; i++) {
:             if(Px->InitializeX(socketX, lampDiameter, lampPosition)) {
:                 while(Px->GetIntensity() > 0.001) {
:                     Px->NextPoint();
:                     if(!Px->UpperBound()) {           
:                         if(Px->Correction())       
:                             Brightness->Catch(Px->GetPosition(), Px->GetIntensity());
:                         break;
:                     }
:                     else {                       
:                         if(Px->Correction())          
:                             Px->Scatter();           
:                         else
:                             break;
:                     }
:                 }
:             }
:             ProgressBar->StepBy(1);
:             StatusBar->Panels->Items[0]->Text = IntToStr((i+1) * 100 / cnt) + "%";
:             IdleLoop();
:         }
:    }

+ -

관련 글 리스트
36686 루프 장시간 실행시 느려지는 문제. 권기식.별사랑 813 2004/08/10
36704     Re:루프 장시간 실행시 느려지는 문제. 유영인 Cuperido 919 2004/08/11
36708         감사합니다. 권기식.별사랑 786 2004/08/11
36709             Re:감사합니다. 유영인 Cuperido 838 2004/08/11
36710                 그렇군요.. 권기식.별사랑 795 2004/08/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.