Benchmark.NET现在是衡量.NET代码性能的规范工具,可轻松分析代码段的吞吐量和分配。
.NET团队对.NET5里面GC和JIT的持续优化,性能得到大幅提升。通过下图可以直观的感受到.NET5的优越性能。
- 纯文本性能测试 基准上升了38%,JSON序列化基准上升了+ 42%
- gRPC性能测试 对比其他编程语言的性能测试,可以看出.NET gRPC性能高出Java、C++、Go。
- Blazor WebAssembly 性能测试 JSON序列化与反序列以及列表渲染性能对比,.NET5.0 比.NET3.0版本性能提升至少一倍以上。
自.NET Core 发布以来,每个大版本中除了修复bug、增加新功能之外,另一个重要的任务就是优化性能。具体参考《.NET Core 2.1中的性能改进》、《.NET Core 3.0中的性能改进》,《.NET 5中的性能改进》。
更多对比结果请参考《.NET平台系列17 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现》
参考文献:
- Web框架基准:https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=fortune
- .NET5中的性能改进:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/
- .NET3.1中的REST对比GRPC性能测试:https://github.com/thangchung/RESTvsGRPC
- .NET3.0中的性能改进:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0/
- .NET2.1中的性能改进:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-2-1/