문제

사전 빌드 이벤트에서 C # 함수를 실행하고 함수 호출을 일정한 값으로 바꾸는가?

예 :

class A{
    A(){
        var aVar = B.Func1("a");
    }
}
class B{
    static String Func1(String str){
        //Do some things
        return str;
    }
}
.

사전 빌드 이벤트 후 :

class A{
    A(){
        var aVar = "A";
    }
}
class B{
    public static String Func1(String str){
        //Do some things
        return str;
    }
}
.

도움이 되었습니까?

해결책

이것은 "사전 빌드 이벤트"와 아무 관련이 없습니다. 컴파일하는 동안 컴파일러에서 컴파일러가 적용하지 않을 수도 있고 적용되지 않는 최적화입니다.

.NET Framework를 타겟팅 할 때 최적화 복잡성의 추가 레이어를 추가합니다. 가능한 한 많은 최적화가 C # 컴파일러가 처음에 코드를 IL을 컴파일 할 때 코드가 실행되기 직전에 JIT 컴파일러가 JIT 컴파일러에서 수행하지 않고 (IL이 기본 코드로 컴파일 될 때)

and yes, JIT 컴파일러는 가능한 언제든지 함수 호출을 취소하는 것과 같이 이러한 사소한 최적화를 적용합니다. 이것은 모든 최적화 도구를위한 낮은 매달려있는 과일입니다. (불명예 기능이 느려지는 )을 만들 수있는 조건은 일반적으로 이것을 인식하기에 충분히 똑똑해지는 조건이 일반적으로 똑똑합니다. 당신은 이 의미가 있다고 생각합니다. 보통 당신보다 똑똑합니다.)

사용자의 초점은 명확하고 읽고 읽기가 쉽지 않은 코드에 있어야합니다. 프로파일 링 된 후에는 그것이 너무 느리고 결정한 후에 그것을 최적화하는 방법에 대해 걱정하지 마십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top