"enable optimizations" 是做什么的?

What does "enable optimizations" do?

对于 Xamarin.Android 和 Xamarin.IOS 项目,"Compiler" 下有一个名为 "Enable Optimizations" 的复选框。意思已经很清楚了,但到底是什么优化呢?例如,对于 IOS,已经有一个单独的选项用于启用优化 LLVM 编译器。

C# 编译器(Mono 的 mcs on the Mac 或 Microsoft 的 csc on Windows)可以发出 有点 选择此选项时更好的 IL。

YMMV 但是,一般来说,这意味着需要一些额外的时间来编译您的源代码,并且 IL 可能更难阅读(如果您反编译它)并且有时需要调试。在大多数情况下,生成的代码将是相同的。

因此,默认选项通常是仅对 release 版本使用 Enable Optimizations(而不是 调试构建)。

OTOH 这与稍后将在运行时(对于 Xamarin.Android)或本机编译(对于 Xamarin.iOS)进行的 JIT(或 AOT 或 LLVM)优化无关。