는 F # 코드 인용 약 4 개 깊이 관련 질문입니까?F # 코드 인용 호출, 성능 및 런타임 요구 사항 여기
일반 오래된 F # lambda 일 때보 다 덜 효율적인 방식으로 호출됩니까? 어느 정도까지?
고급 반사 또는 코드 방출 기능 (종종 타겟팅 대상 임베디드 플랫폼에서 빠지거나 금지되는)을 위해 런타임 지원이 필요합니까?
는 F # 코드 인용 약 4 개 깊이 관련 질문입니까?F # 코드 인용 호출, 성능 및 런타임 요구 사항 여기
일반 오래된 F # lambda 일 때보 다 덜 효율적인 방식으로 호출됩니까? 어느 정도까지?
고급 반사 또는 코드 방출 기능 (종종 타겟팅 대상 임베디드 플랫폼에서 빠지거나 금지되는)을 위해 런타임 지원이 필요합니까?
인용문은 단지 데이터이므로 잠재적으로 어떤 영리한 방법 으로든 인용 할 수 있습니다. 예를 들어, 단순히 값을 여러 번 사용하지 않고 단순한 값이 아니라면 (예를 들어 람다를 인용 한 경우) 트리를 따라 가서 각 노드를 해석하면 좋을 것입니다. 반복적으로 호출하고 싶을 때).
성능이 더 좋고 (더 간단 할 경우) Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation
만 사용할 수 있습니다. 이것은 가능한 모든 인용문 (C# LINQ 표현식과 거의 동일한 집합)을 지원하지는 않으며 IL 등을 실제로 생성하는 작업이 조금 더 필요합니다. 그러나 결과를 재사용하는 것이 더 효율적입니다. . 이 작업은 먼저 인용문을 C# 표현식 트리로 변환 한 다음 표준 Compile
함수를 사용하여 인용 부호를 변환하므로 해당 형식을 지원하는 플랫폼에서만 작동합니다.
"고급"리플렉션을 정의하고 타겟팅하는 임베디드 플랫폼의 이름을 지정할 수 있습니까? –