您可以使用Mono/LLVM生成比Microsoft的C#编译器更快的.NET应用程序吗?

Rob*_*cks 14 c# optimization mono performance llvm

具有LLVM项目的Mono能够使用LLVM编译器后端,后端具有一些非常强大的优化功能,可以编译C#.NET项目,使其在计算密集型应用程序中运行速度提高约20%.

除了Mono的内置JIT编译器之外,Mono现在能够使用LLVM作为代码生成的后端.这使Mono可以从LLVM中完成的所有编译器优化中受益.例如,SciMark得分从482610.

那么是否可以将现有的C#.NET项目作为目标使用Mono/LLVM以获得更快的Windows或Unix应用程序?它是那么容易还是你必须重构/修改应用程序代码?这甚至可以在常规.NET Framework下运行,还是专门用于Mono Framework项目?考虑到这一点:

这种额外的性能需要付出代价:使用LLVM进行JIT编译会消耗更多时间和更多内存.

Iva*_*tev 4

LLVM 后端连接到 Mono 的 JIT 编译器(运行应用程序时将 IL 程序集转换为本机程序集),因此您需要使用 Mono 运行应用程序。