今天我把Fusion迁移到了.NET5--老实说,我对它带来的性能提升感到非常惊讶:
输出由Fusion的“缓存”示例生成,该示例使用EF Core5和ASP.NET Core。测试产生20M+操作/秒(#1、#3)的速度主要受Fusion的逻辑和Castle.DynamicProxy的限制。产生大约100K操作/秒的测试受EF&;SQL Server(#2,#5)或ASP.NET Core(#4--与#5相同,但依赖于Fusion的缓存功能)的限制。所有这些都意味着:
如果我们谈论的是相对较快的ASP.NET Core API端点(严重依赖缓存等),则最高可达+100%。
如果你想了解更多关于.NET5性能改进的信息,请阅读Stephen Toub的这篇文章。
我计划今天再运行几个测试,并分享更多细节--最有可能的是GCBurn(垃圾收集和分配性能测试)和我之前用来比较SIMD加速的C#和C++速度的代码。但很明显,即使是现在,.NET团队也交付了比我预期更多的东西-祝贺并衷心感谢所有让这一切成为可能的人!