Is there any performance overhead in using RaiseEvent in .net

Posted by Sachin on Stack Overflow See other posts from Stack Overflow or by Sachin
Published on 2010-05-03T07:17:22Z Indexed on 2010/05/03 7:28 UTC
Read the original article Hit count: 223

Is there any performance overhead in using RaiseEvent in .net

I have a code which is similar to following.

        Dim _startTick As Integer = Environment.TickCount
        'Do some Task'
        Dim duration As Integer = Environment.TickCount - _startTick
        Logger.Debug("Time taken  : {0}", duration)
        RaiseEvent Datareceived()

Above code returns

        Time Taken :1200

        Time Taken :1400

But if remove RaiseEvent it returns

        Time Taken :110

        Time Taken :121

I am surprised that the raiseevent is called after the logging of time taken. How it effects total time taken.

I am working on Compact framework.

Update:

In the Eventhandler I had given a MsgBox. When I removed the message box it is now showing time taken as 110,121,etc i.e. less that 500 milliseconds. If I put the Msgbox back in eventhandler it shows 1200,1400,etc i.e. more that a second.

More surprised now.(Event is raised after the logging part)

© Stack Overflow or respective owner

Related posts about compact-framework

Related posts about raiseevent