为什么大括号花时间在C#代码上?

Mis*_*sky 8 c# performance profiling ants

我正在使用Ants Performance Profiler 8.5,当我看到代码的每一行都运行时,我注意到括号也需要时间.

这是一张图片,你可以在大括号的左边看到以毫秒为单位的时间:

在此输入图像描述

有时我会得到更多的时间,比如5毫秒......

这是为什么?是垃圾收集吗?

Dom*_*icz 3

定义方法后,编译器就知道该方法范围内的参数集,称为maxstack. 这暗示了为该方法分配的内存量。

可能是 CLR 分配额外时间内存的来源。

添加更多的大括号实际上并没有向maxstack. 它的范围涵盖整个方法。作用域更多的是一种逻辑分组,而不是由 CLR 实现来释放内存。

关于你关于GC的问题,我不认为这是问题的根本原因。GC 在需要时由单独的线程运行。可能GC,但我严重怀疑你的情况。