본문 바로가기
다물칸 주소복사
조회 수 3558 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
구분 팁&트릭

실행파일을 만들기전 VB에서 실행하는 것과 실행파일을 만든 후의 실행하는 속도가 틀리다고 하네요

다음은 고급최적화에서의 옵션에 대해 설명합니다. 이것의 영향으로도 속도가 틀려진다고 하니까 참고하시길..

 

별칭없음으로 가정

별칭(Aliasing)이란 메모리의 일부에 여러개가 아닌 하나의 이름을 붙이는 일을 가리킨다.

별칭은 ByRef로 선언된 변수들이 처리되는 방식에 영향을 끼치며 컴파일러가 레지스터를

사용하고 루프를 최적화함으로써 변수를 최적화할 수 있게 해준다.

 

배열 바운드 검사제거

보통배열이 참조될때 VB는 이 참조가 배열의 범위 내에서 이루어지고 있는지를 검사한다.

이는 다른언어에서 찾아보기 힘든 에러처리기법이며 배열을 처리하는 속도를 저하시킨다.

그러므로 참조가 배열내에서 이루어지도록 주의하면 된다.

(실수하면 프로그램이 멈추어 버릴 수도 있다.)

=> 배열선언에 있어서 확실하다고 생각한다면 이 옵션을 체크해서 배열을 처리하는 속도를

저하시키는 것을 막을 수 있다는 내용입니다.

 

정수 오버플로 검사제거

어떤 값이 정수형 변수에 할당될 때 VB는 기본적으로 그 값이 데이터형의 범위한에 들어

가는지 검사하게된다. 이렇게 되면 정수를 액세스할때마다 에러처리코드가 실행되므로 속

도가 느려질 수밖에 없다. 만일 여러분이 신경써서 코딩을 한다면 정수 오버플로를 방지함과

동시에 코드의 속도를 증가시킬 수 있다.

 

부동 소수점 오류검사 제거

이 옵션은 위의것과 유사하지만 그 대상이 Single과 Double등 부동소수형 변수가 된다. 이

옵션을 체크하면 앞에서와 마찬가지로 코드 내에서 변수의 범위를 확인해야 한다. 그 이유는

0으로 나누기(Division By zero)때문에 프로그램이 멈추어 버리는 사태가 발생할 수도 있기

때문이다.

 

반올림없는 부동 소수점 연산 허용

이 옵션은 레지스터를 직접 사용함으로써 프로그램이 부동소수 연산을 보다 효과적으로 수행

할 수 있도록 해주며 부동소수를 메모리에 써넣거나 읽어내는 데 걸리는 시간을 줄여준다.

Single과 Doeble의 크기 비교역시 보다 정확하게 이루어진다. 단점이라면 부동소수의 비교가

매우정밀하게 수행되기 때문에 서로 동일한 소수가 다른 것처럼 보일 수도 있다는 것이다.

 

안전 Pentium(TM) FDIV검사제거

이 옵션을 체크하면 펜티엄 프로세서의 초기 나눗셈 버그때문에 부동소수의 나눗셈연산에서

발생할 수 있는 에러를 점검하는 코드가 제거된다. 그 버그는 오래전에 수정되었으므로 이 옵

션은 없어져야 한다. 이 옵션을 체크하면 코드의 실행속도가 빨라진다. 사실 나눗셈 버그가 있

는 오래된 펜티엄 프로세서가 내장된 시스템에서 VB 프로그램을 실행되는 일은 거의 없을 것

이다.