惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
小众软件
小众软件
博客园 - 【当耐特】
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
H
Help Net Security
博客园_首页
P
Proofpoint News Feed
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
爱范儿
爱范儿
MyScale Blog
MyScale Blog
Blog — PlanetScale
Blog — PlanetScale
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Google DeepMind News
Google DeepMind News

C#

macos10.15 上如何配置 vscode C#环境 asp net core 的工作站模式和服务器模式的区别 C#上位机开发是用 winform 那种传统工业风还是 WPF 现代风 paddleocr 的 C#集成问题 C#中异步相关的问题 .NET 换新的异步编程模型了,性能很强 想念 C# 200 块有偿求助 C#高速读取串口,导致软件闪退的问题。 老师,我太想进步了——关于 C#学习 visual studio 2022 代码提示消失 Cursor 生成的代码有个大坑,排查了一晚上才找出原因 C# 有哪些显著的缺点? 有没有 Sematic Kernel 可以落地的应用推荐? 请教下 C#有没有办法用装饰器全局监控方法执行时间 想用 c#的 mvc 实现一个功能. Unity 双击 C#脚本默认打开 Visual Studio 没有代码提示如何解决? 请问 c#有没有一些能规范学习的生产管理系统开源项目? C#串口通信问题 求教 C# 怎么同时交叉编译 windows Linux mac ?跟 go 一样 ClosedXML 如何对一列数据设置高亮重复项?(高亮重复项是 Excel 的一种功能;不能手动给重复单元格设置背景颜色,这样的话用户删除重复项后不会自动去除高亮) 求推荐软件开发练习项目的教学视频或书籍 如何在 visual studio 2022 中新建单元测试项目时默认使用最新版本? C#有像 C++的 libevent 同样定位的高性能跨平台网络库吗? 求助,如何正確劫持系統 DLL 調用 C#生态里有啥简单一点的容易上手的开源后台管理系统吗? .NET6 HttpClient 无反应也不超时? 关于.NET6 httpclient 用 IPV6 还是 IPV4 的疑问 关于 C#调用 DLL 的疑惑 C#程序员开发手机页面有什么适合的 UI 框架? 求教大佬,用 C#如何操作 word 文档
.NET 11 的 async 性能改进过于逆天 - V2EX
hez2010 · 2026-08-08 · via C#

之前写过文章介绍了 .NET 11 推出的 runtime async ,即不再由 C# 编译器把 async 方法编译成状态机而是直接交由给 runtime 处理做代码生成。使用 runtime async 不需要修改已有代码,只需要重新编译一次就行。顺带提一嘴,runtime async 仍然属于无栈协程方案,因此不存在有栈方案的额外开销。

然后正好最近看到关于 runtime async 的几个重要优化都被合并入了上游分支里,就把 main 分支代码拉下来构建 runtime 然后用 .NET 11 nightly 开启 runtime async 对比 .NET 10 不开启 runtime async 的性能。

结果如下:( async1 即目前 .NET 10 的 async ,async2 即 .NET 11 将推出的 runtime async )

result.png

测试代码见: https://gist.github.com/hez2010/d1802e7c7ab10e21a92dcba2afe0a58d

省流:

不实际发生暂停的 async 代码快了 19.6 倍而且变成 0 分配,性能几乎和同步代码没区别了; await 已完成的 Task 快了 12 倍,并且也是直接变 0 分配; Task.Yield 快了 7 倍; ThreadPool continuation 快了 3.2 倍; async 状态机链则快了 7.4 倍,同时内存分配减少了 36%。async 的开销属于是被砍的一干二净了。

就这还是针对 runtime async 的代码内联、PGO 之类的支持都还没上的情况下跑出来的成绩,不知道等全端上来后还能有多少提升。

越来越期待 .NET 11 正式版了。