c# - 为什么大括号在 C# 代码上需要时间?

标签 c# performance profiling ants

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

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

enter image description here

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

这是为什么呢?是垃圾回收吗?

最佳答案

当一个方法被定义时,该方法作用域内的参数集为编译器所知,称为maxstack。 .这暗示了为该方法分配的内存量。

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

添加更多大括号实际上并不会向 maxstack 添加更多参数。它涵盖了整个方法。作用域更像是一个逻辑分组,而不是由 CLR 实现以释放内存。

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

关于c# - 为什么大括号在 C# 代码上需要时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23988759/

相关文章:

asp.net - ViewEngines 会影响 Asp.Net MVC 的性能吗?

php - "Like"系统php/mysql

go - 我如何找出两种方法中哪一种更快?

java - 在JProfiler中如何扩展最大对象的数量?

c# - 连接到 VPN 时 HttpClient.GetAsync 超时

c# - Facebook/Google/Twitter 记住登录信息

c# - 使用 Windows 窗体从主窗口更新无模式对话框

任务计划程序库的 C# 问题

python - 如何优化此 Python 代码以使其运行得更快?

javascript - 检索更新的 JS 堆内存大小