.NET中‘异步ValueTask摊销无分配’特性去向问询
关于.NET中近似无分配ValueTask特性的疑问
Steven Toub在.NET 5中引入了近似无分配的ValueTask<T>实现,相关性能对比数据如下:
Method Runtime Mean Ratio Allocated ValueTaskCost .NET FW 4.8 1,635.6 us 1.00 294010 B ValueTaskCost .NET Core 3.1 842.7 us 0.51 120184 B ValueTaskCost .NET 5.0 812.3 us 0.50 186 B <--- !
我最早从Dapper作者Marc Gravell的文章中了解到这个特性,他建议几乎始终使用ValueTask替代Task(有意思的是Dapper本身并没有遵循这个建议)。
该特性过去可通过环境变量DOTNET_SYSTEM_THREADING_POOLASYNCVALUETASKS启用,但现在这个环境变量在.NET中已经不存在了。
想请教:这个特性发生了什么变化?是因为技术原因被移除,还是已经设为默认特性?
内容的提问来源于stack exchange,提问作者Charles Burns
相关产品推荐
相关产品推荐

