3 .Net 7内容汇总--反射优化( 二 )


1.00
Names
.NET 7.0
2.010 us
0.59
2.43 KB
0.27
另外由于JIT编译器又进化了,现在可以在编译过程中计算结果 , 所以:
[Benchmark]public bool IsByRefLike() => typeof(ReadOnlySpan<char>).IsByRefLike;Method
Runtime
Mean
Ratio
Code Size
IsByRefLike
.NET 6.0
2.1322 ns
1.00
31 B
IsByRefLike
.NET 7.0
0.0000 ns
0.00
6B
是的,你没看错,时间是0,因为这里在运行的时候已经不需要计算了,直接就是个赋值操作,所以这个时间就 。。。
我们来看一下生成的汇编
; Program.IsByRefLike()moveax,1ret; Total bytes of code 6这就是反射优化的主要内容 。反正就高喊666 , 知道反射又快了,用起来心里负担又小了就搞定了^ ^ 。
【3 .Net 7内容汇总--反射优化】

推荐阅读