.NET Native 是否将所有泛型编译为本机代码?
Does .NET Native compile all generics to native code?
MSDN:.NET Native 是提前(“AOT”)编译:它在编译时将您的代码转换为本机机器代码
我想知道它是如何处理泛型的?
该堆栈中有一个称为通用共享泛型的功能,可帮助捕获我们的分析未正确识别您在运行时需要的泛型的所有情况。对于这些情况,您不会通过该代码路径获得最佳速度,因为有相当数量的重定向才能使其正常工作。但是,如果您发现特定的热路径受到影响,通过让我们在分析过程中找到具有所需类型签名的一些存根代码,让编译器为这些路径生成本机代码相对简单。
它成为 .NET Native 运行时的一部分已有一段时间了。您可以在 this announcement.
中阅读有关它的信息
MSDN:.NET Native 是提前(“AOT”)编译:它在编译时将您的代码转换为本机机器代码
我想知道它是如何处理泛型的?
该堆栈中有一个称为通用共享泛型的功能,可帮助捕获我们的分析未正确识别您在运行时需要的泛型的所有情况。对于这些情况,您不会通过该代码路径获得最佳速度,因为有相当数量的重定向才能使其正常工作。但是,如果您发现特定的热路径受到影响,通过让我们在分析过程中找到具有所需类型签名的一些存根代码,让编译器为这些路径生成本机代码相对简单。
它成为 .NET Native 运行时的一部分已有一段时间了。您可以在 this announcement.
中阅读有关它的信息