无论是迭代器还是async方法,都会创建一个状态机来保持yield/await操作之间的状态,您方法中的每个local都变成了该状态机类型实例中的field。
在这次演讲中,Stephen Toub谈到,在async方法的主体中减少局部变量是一种有效(没有微观)优化,如果您有很多等待调用的话。(即如果您在循环中等待)
因此,在这种情况下,我想知道拥有7个局部变量和拥有一个局部变量(它是Tuple<T1,T2,T3,T4,T5,T6,T7>
)之间的性能差异。
或者,这只是另一种微观优化尝试,没有什么作用或太少使用? 编辑:现在我再次考虑,如果这样做有好处,那么它已经被实现了,我想。尽管如此,我仍然很好奇。