.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%。
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注KnowSafe微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
- Nginx Proxy Manager Nginx 可视化管理工具
- SiteOneCrawler一款简单易用、功能强大的网站分析工具
- XGetter: 一款全能型跨平台视频下载工具
- 这门 64 岁却“无人问津”的语言:每天处理 3 万亿美元交易,全球大都在用它的代码
- WhatsApp私信协议实现记录
- 共赴星辰大海!华为云原生与 AI 开源项目助力根植中国前沿卫星星座计划
- 金山回应“WPS 会删除用户本地文件”;腾讯游戏:未成年人暑假只能周五六日打游戏;iOS 16公测版发布|极客头条
- 游戏中的决胜瞬间,骁龙为你送出神助攻
- 华为徐文伟:知识计算是人工智能在行业落地的关键
- 眼力大比拼,大家一起挑战找骁龙!
- 首个体系课重磅上线!《CTF训练营-Web篇》文末有抽奖哦~
- 中国开发者数量全球第二,C 语言一跌再跌!GitHub 年度报告重磅发布
赞助链接