![]() |
1
5
不,它不应该有坏的表现。毕竟,只有在性能不处于最前沿的调试模式下才能调用它。实际上,你可以 移除lambda并传递方法名 移除不必要的中间匿名方法的开销。
请注意,如果要在调试生成中执行此操作,可以添加
|
![]() |
2
3
性能有差别。它的重要性将取决于代码的其余部分,因此我建议在开始优化之前进行分析。 第一个例子就是这样说:
如果isDebuggingEnabled是静态只读的,那么检查将被抖动掉,因为它知道它永远不会改变。这意味着,如果isdebuggingEnabled为false,上面的示例将没有性能影响,因为完成JIT后,代码将消失。
每次调用instance.log时都将调用该方法。会变慢。 但是,在花费时间进行这种微优化之前,您应该对应用程序进行概要分析或运行一些性能测试,以确保这实际上是应用程序中的瓶颈。 |
![]() |
3
3
我希望在这种情况下获得一些关于性能的文档,但似乎我得到的只是关于如何改进代码的建议…好像没人读过我的P.S.-没有给你的分数。 所以我写了一个简单的测试用例:
两个版本之间的时间似乎完全相同。 第一种情况下我有145毫秒,第二种情况下我有145毫秒。 看来我回答了我自己的问题。 |
![]() |
4
1
您也可以这样做:
|
![]() |
5
0
标准答案:
|
![]() |
6
0
直接调用GetMessage委托,而不是对其调用Invoke。
您还应该在getmessage上添加空检查。 |
![]() |
7
-3
我相信代理会创建一个新的线程,所以您对它的看法可能是正确的,可以提高性能。 为什么不按照DAV的建议设置一个测试运行,并密切关注应用程序生成的线程数,您可以使用ProcessExplorer来实现这一点。 坚持!我被纠正了!委托仅在使用“BeginInvoke”时使用线程…所以我上面的评论不适用于你使用它们的方式。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |