UdpClient.Receive time

Hi;

According to ANTS the most time for our application is in UdpClient.Receive. However, this call blocks according to Microsoft and over a period of 3 minutes of profiling it receives 3 packets.

What is going on here? Does this method actually poll? Or is ANTS somehow counting it as CPU time even though it is blocked?

Or something else?

thanks - dave

Comments

  • Hi there,

    the current version of ANTS only measures elapsed time. This means that blocking/waiting methods will appear to take a long time. For the next version we plan to add the ability to measure both elapsed and cpu time.

    Thanks,

    Tom

    Red Gate Software
  • Ok thanks. So numbers from ANTS are general guidelines but could be off depending on what other threads are doing, other apps are doing, etc???

    thanks - dave
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi Dave,

    The timings should be very accurate, it's just that we may well have a different understanding of what 'time' means. In one case, you're thinking about how much time a method had spent actually performing activity in the processor, but in the case of ANTS Profiler we are talking about the 'real' time that you get by subtracting a method's entry time from its' exit time.
  • good point. Unfortunately for multi-threaded apps CPU cycles used is generally much more important than elapsed time. (Also I do other stuff while the profiler is running and that can effect elapsed time.)

    thanks - dave
  • Can filtering be used to filter out methods that have blocking calls in them? I tried using a custom filter to filter out a method but it seemed to have no effect. -- Bud
Sign In or Register to comment.