VB.NET 2008 컴파일러는 Select Case 문을 선택적으로 최적화합니까?VB.NET 사례 컴파일러 최적화를 선택 하시겠습니까?
예를 들어, 충분한 양의 정수 경우가있는 Select Case 문을 2 진 검색으로 구성 할 수 있습니다.
정수 또는 다른 기본 데이터 형식을 비교하는 여러 다른 If가있는 문을 If 대신 Select Case를 선택해야하는지 여부가 궁금해서이 질문을드립니다.
VB.NET 2008 컴파일러는 Select Case 문을 선택적으로 최적화합니까?VB.NET 사례 컴파일러 최적화를 선택 하시겠습니까?
예를 들어, 충분한 양의 정수 경우가있는 Select Case 문을 2 진 검색으로 구성 할 수 있습니다.
정수 또는 다른 기본 데이터 형식을 비교하는 여러 다른 If가있는 문을 If 대신 Select Case를 선택해야하는지 여부가 궁금해서이 질문을드립니다.
Select Case
40 개의 선택 항목이 4 문보다 10 배 이상 빠릅니다. 이는 바이너리 검색으로 얻는 것보다 더 개선 된 것입니다. 간단한 정수 Select Case
은 계산 된 goto 문과 동일한 최신 기계 코드를 사용합니다. 즉, 정수 값을 기반으로 적절한 "대소 문자"로 직접 분기되도록 컴파일됩니다.
나는 Select Case
가야 할 사람이라고 생각합니다.
일반적으로 이러한 종류의 성능 미세 최적화에 비해 코드 가독성 및 유지 관리 가능성에 대해 걱정해야합니다.
이 스위치가 1000 초 (수백만 회) 실행되는 루프 안에 있지 않으면 응용 프로그램의 성능 병목 일 가능성이 매우 낮습니다.
일관성을 위해 결정을 내리고 준수하십시오. 일반적으로 성능 병목 지점을 분석 할 때까지 코드를 성능 튜닝하지 마십시오.
도 참조하십시오. this question.