返回资讯中心
外部精选
软件工程
#开发者实时流

开发者报告 .NET 11 异步性能回归,RC2 起多项基准明显变慢

来源标题:.NET11 Async Perf Regression

开发者反馈 .NET 11 自 RC2 起出现明显异步性能回归,最新 release/11.0 GA 分支更严重。基准显示 Task.Yield 挂起从 .NET 11 RC1 的 34.30 ns 升至 RC2 的 184.69 ns,最新每日构建为 249.03 ns;ThreadPool 与 TaskCompletionSource 续延耗时也同步上升。相比之下,无挂起异步和已完成 Task/ValueTask await 仍维持在 0.3 ns 左右。

Hacker News 最新mmd452026/11/12 · 今天3 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

描述

我在跑 runtime async 的基准测试,但看起来从 .NET 11 rc2 开始出现了严重的性能回退,而在最新的 release/11.0 GA 分支上还要更糟。

基准测试 .NET 10 .NET 11 RC1 .NET 11 RC2 .NET 11 daily
同步基线 0.332 ns 0.332 ns 0.333 ns 0.332 ns
异步、无挂起 6.466 ns 0.395 ns 0.393 ns 0.399 ns
已完成 Task 的 await 4.006 ns 0.333 ns 0.330 ns 0.336 ns
已完成 ValueTask 的 await 0.754 ns 0.333 ns 0.336 ns 0.332 ns
Task.Yield 挂起 302.58 ns 34.30 ns 184.69 ns 249.03 ns
ThreadPool 续体 373.83 ns 104.87 ns 266.91 ns 341.99 ns
TaskCompletionSource 续体 499.52 ns 115.66 ns 381.54 ns 530.47 ns
异步状态机链 712.21 ns 86.76 ns 281.17 ns 374.03 ns
基准测试代码:https://gist.github.com/hez2010/d1802e7c7ab10e21a92dcba2afe0a58d

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →