.NET 6 的速度比 .NET 5 高出约 40%


set DOTNET_ReadyToRun=0set DOTNET_TieredPGO=1set DOTNET_TC_QuickJitForLoops=1
测试每秒会产生 2千万+ 次操作,主要是受 Fusion 的逻辑 Castle.DynamicProxy 的约束,简单来说,该测试主要是一个缓存键计算和查找逻辑。几乎每次迭代都以缓存命中结束。 测试每秒产生的操作次数 <100 万次,主要是受 EF 和 SQL Server 或 ASP.NET Core 的约束。
缓存/紧密循环的测试速度提高了 30%。 测试4(向常规 Web API 添加 Fusion 缓存)在使用 .NET 6 后速度提高了 15%。 常见的 HTTP 流水线测试(HttpClient 命中 ASP.NET Core 控制器,后者托管了 CRUD 风格的 EF Core 服务)的速度提高了约 4.5%。

dotnet build -c ReleaseRun-PerformanceTest.cmd net6.0Run-PerformanceTest.cmd net5.0Run-PerformanceTest.cmd netcoreapp3.1
上方的测试主要计算缓存键、散列、获取异步锁,并运行 ConcurrentDictionary 查找。 下方的测试会运行SQL 命令,大部分是运行 SELECT -s 获取单行数据。
总结
对于紧密循环和缓存友好的逻辑,速度提升为 30%~40%。 对于不依赖于网络和IO 的代码,速度提升约为 15%。 对于主要依赖于网络和IO 的常见 Web 服务,速度提升约为 5%。
延伸阅读
-
TouchSocket:一个功能强大且易于使用的 .NET 网络通信框架
TouchSocket是一个功能强大且易于使用的.NET 网络通信框架,适用于C#、VB.Net 和 F#等语言。它提供了多种通信模块,包括TCP、UDP、SSL、WebSocket、Modbus等
-
AtomUI 企业级跨平台控件库
AtomUI 是基于 .NET 技术的 Ant Design 实现,致力于将 Ant Design 优秀高效的设计语言和体验带到 Avalonia/.NET 跨平台桌面软件研发领域。运行环境.NET
-
微软:SHA-1 算法签名的.NET 框架 4 月 26 日将不再支持
技术编辑:MissD丨发自 思否编辑部公众号:SegmentFault如果你正在使用.NET Framework 框架的 4.5.2、4.6 或 4.6.1 版本,那你得注意了,现在这些版本已开始进入
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 微信终于解除限制!朋友圈可以发5分钟长视频了
- 微软重大更新!Windows on Arm能玩更多游戏了
- 不止美「图」 ,更要美「人」,看美图如何将变美由“虚”向“实”
- 统信UOS主动安全防护计划 · 二期发布会 | 一切就绪,明天见!
- 家用电器:峥嵘十年绘就华丽篇章
- 一加Ace Pro全面评测:当游戏神机换上优雅西装
- 本周大新闻|Meta首个XR专用AI芯片曝光,NVIDIA公布全息光波导VR模组
- 【大公司创新情报】百度第三季度总营收319亿元,旗下爱奇艺净亏超17亿
- 滴滴、苏宁退场,网络互助已行至末路?
- 比特熊“新家”装修完毕,欢迎你成为首批访客
- 应对全球数字鸿沟与数字壁垒的政策建议
- 5G高精度时间同步组网方案研究
赞助链接