Mono with LLVM项目能够使用LLVM 编译器后端,它具有一些非常强大的优化来编译 C# .NET 项目,这使它在计算密集型应用程序中的运行速度提高了大约 20%。
除了 Mono 的内置 JIT 编译器之外,Mono 现在能够使用 LLVM 作为代码生成的后端。这允许 Mono 从 LLVM 中完成的所有编译器优化中受益。例如,SciMark 分数从482到610。
那么是否可以针对现有的 C# .NET 项目使用 Mono/LLVM 以获得更快的 Windows 或 Unix 应用程序?是不是很容易,还是您必须重构/修改应用程序代码?这甚至可以在常规的 .NET Framework 下工作,还是专门针对 Mono Framework 项目?考虑到这一点,有人说:
这种额外的性能是有代价的:使用 LLVM 进行 JIT 编译会消耗更多时间和更多内存。