在.NET中使用raiseevent有任何性能开销吗?
-
02-10-2019 - |
题
在使用Raiseevent中是否有任何性能 。网?
我有一个类似于以下的代码。
Dim _startTick As Integer = Environment.TickCount
'Do some Task'
Dim duration As Integer = Environment.TickCount - _startTick
Logger.Debug("Time taken: {0}", duration)
RaiseEvent Datareceived()
以上代码返回:
Time taken: 1200
Time taken: 1400
但是如果我删除 RaiseEvent
它返回:
Time taken: 110
Time taken: 121
我很惊讶 RaiseEvent
在记录时间后被调用。它如何影响所花费的总时间?
我正在努力 .NET紧凑型框架.
如果Handler,我给了MSGBox。当我删除消息框时,现在显示为110、121等的时间,即少500毫秒。如果我将msgbox放回eventhandler中,则显示1200、1400等,即超过一秒钟。
我现在更加惊讶(该活动是在记录部分之后举起的)。
解决方案
尝试在控制台应用程序中使用相同。控制台应用程序使用较少的资源。
在这里,您可以确定确切的问题。
不隶属于 StackOverflow