哪些.NET Framework版本支持Span <t>的运行时增强功能?

时间:2018-05-31 14:00:56

标签: .net .net-framework-version

我理解Span<T>可以作为Nuget包在.NET Framework上使用。 There have been JIT upgrades to .NET Core to improve performance of Span<T> to nearly standard array performance.

哪些.NET Framework版本支持Span<T>

的性能的运行时增强功能

2 个答案:

答案 0 :(得分:8)

“快速跨度”支持不太可能很快出现在.NET Framework版本中-并且肯定在4.7.2(或更早版本)中不存在,并且不在4.8的计划中-参见例如this discussion thread

答案 1 :(得分:5)

直到.NET 4.7.1才开始。取自here

  

注意:在创建.NET Core 2.0的发布版之后,此处描述的更改已落实,因此它们在每日预览版本中可用,但不在已发布的2.0位中可用。同样,这些更改在创建.NET Framework 4.7.1的fork之后就已落实。结构参数传递和块布局的更改(纯粹是JIT更改)将使用新的JIT位自动传播到后续的.NET Framework版本(RyuJIT源在.NET Core和.NET Framework之间共享);其他更改取决于它们的运行时组件传播到.NET Framework。

然后

  

跨度的改进

     

我们的一些工作是由Span的引入推动的,因此它和类似类型可以更好地实现其性能承诺。

     

其中一个变化是#10910,这使得JIT将Span和ReadOnlySpan的Item属性getter识别为内在函数