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
[75768] Re:Re:Re:BCB <-> VC 실행 속도문의
라스코니 [chouoo] 2269 읽음    2020-02-13 14:48
bcb의 경우도 release 모드일 때는 차이가 좀 줄어들었군요.
우선 bcb 버전이 너무 낮아 윈도우 10에서 성능이 저하되는 것 같아 보입니다.

그리고 vc 6.0 대가 사용되었던 때는 2000년 초반대이고, 그때는 vc가 bcb 보다 좀 더 빠른 코드가 생성되었습니다.

그리고 아래 코드는 j*i 가 계속 반복 실행되는 등 최적화가 들어갈 수 있는 여지가 있습니다. k=j*i; 식으로 바꿔서 한번 해보세요.

kjs 님이 쓰신 글 :
: //------------------------------------------------------
: vc 2006 실행시 실행시   30 msec 정도 걸리는걸로 나옵니다.
:
: //------------------------------------------------------
: 빌더 실행시    빌더 릴리즈 모드  /  dll    릴리즈 모드 로 변경시         
: dll 함수 의 경우 40msec 
: 일반 함수 호출시  70msec
:
:
: //=======================================================
: 아래 시간의 경우
: 빌더 디버그 모드
: vc6.0 릴리즈 모드
:
:
: 라스코니 님이 쓰신 글 :
: : vc6.0 으로 dll 생성시 컴파일 중 최적화 옵션을 주셨나요? release 모드로 컴파일 된 건가요? debug 모드로 된 건가요?
: :
: : bcb6.0 프로젝트는 release 또는 debug 모드 중 어떤 건가요?
: :
: :
: :
: : kjs 님이 쓰신 글 :
: : :
: : : 글을 읽어 주셔서 감사합니다.
: : :
: : : 이번에 프로그램 개발을 하는도중 알 수 없는 문제가 발생을 하여 고수님들의 도움을 요청 드립니다.
: : :
: : : os : win10
: : : tool : bcb6.0
: : :
: : :
: : : 1> 아래 함수를  BCB에서 실행하는것 과 VC에서 실행하는데 시간의 차이가 나서 문의 드립니다.
: : :        int* p;
: : :     p = new int[100000000];
: : :
: : :     for (int j = 0; j < 2000; j++)
: : :     {
: : :         for (int i = 0; i < 2000; i++)
: : :         {
: : :                     p[j*i + i] = p[j*i + i] + p[j*i + i];
: : :                     p[j*i + i] = p[j*i + i] + p[j*i + i];
: : :                     p[j*i + i] = p[j*i + i] + p[j*i + i];
: : :         }



: : :     }
: : :        delete[] p;
: : :       위와 비슷한 코드를 실행 하는데 bcb에서 vc 릴리스 대비 약 3 배정도 시간이 더 걸리고 있습니다.
: : :
: : :
: : :    //-------------------------------------------------
: : :    질문 : 이것을 해결할수 있는 방법이 있을까요?
: : :   
: : :
: : : 2> vc 6.0 버전으로 dll을 만들어서 호출 <-> 버튼에서 바로 처리하는 경우
: : :       DLL로 노출시킨 함수 처리시간 : 38msec  <-대략적인 시간
: : :        void __fastcall TForm1::Button1Click(TObject *Sender)
: : :        {
: : :             TDateTime dt;
: : :             dt = Now();
: : :
: : :            CamImgMemoryCrate(0,0,0,0);    <- dll 노출 함수 함수 내용은 BCB 것과 동일
: : :
: : :            int iGap = MilliSecondsBetween(dt,Now());
: : :           Edit1->Text = iGap;
: : :        }
: : :  
: : :     -----------------------------------------------
: : :     버튼에서 처리시간 : 116 msec  <-대략적인 시간
: : :     void __fastcall TForm1::Button2Click(TObject *Sender)
: : :    {
: : :         TDateTime dt;
: : :         dt = Now();
: : :
: : :         int* p;
: : :     p = new int[100000000];
: : :
: : :     for (int j = 0; j < 2000; j++)
: : :     {
: : :         for (int i = 0; i < 2000; i++)
: : :         {
: : :                    p[j*i + i] = p[j*i + i] + p[j*i + i];
: : :                    p[j*i + i] = p[j*i + i] + p[j*i + i];
: : :                    p[j*i + i] = p[j*i + i] + p[j*i + i];
: : :         }
: : :     }
: : :         delete[] p;
: : :         int iGap = MilliSecondsBetween(dt,Now());
: : :         Edit2->Text = iGap;
: : : } 
: : :
: : :    //-------------------------------------------------
: : :    질문 : 이런 차이가 발생하는 이유가 무엇인지 알 수 있을까요?
: : :             동일한 코드를 실행 하는데 시간차가 발생을 하고 있습니다.
: : :  
: : :
: : :

+ -

관련 글 리스트
75765 BCB <-> VC 실행 속도문의 kjs 2256 2020/02/12
75766     Re:BCB <-> VC 실행 속도문의 라스코니 2203 2020/02/13
75767         Re:Re:BCB <-> VC 실행 속도문의 kjs 2172 2020/02/13
75768             Re:Re:Re:BCB <-> VC 실행 속도문의 라스코니 2269 2020/02/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.