//------------------------------------------------------
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;
: : }
: :
: : //-------------------------------------------------
: : 질문 : 이런 차이가 발생하는 이유가 무엇인지 알 수 있을까요?
: : 동일한 코드를 실행 하는데 시간차가 발생을 하고 있습니다.
: :
: :
: :