Events & Delegates CPU spikes
hi,
i have following issue , not sure what's best way tackle this:
the application i'm dealing utilizes live financial market data stocks, options, etc. so, there 1 class handles market data subscriptions , emits quote event.
there several controls subscribe quote event , process data event delivers.
the issue 1 control might subscribe market data msft , other control might need data ibm, still subscribed same event , control has filter incoming data event , determine if needs process or not. performance profiling showed me pretty non issue , can't cause performance spikes.
so, i'm experiencing when i'm running 1 of controls, cpu usage @ 3% max. however, open 2 of controls, see spikes 25%!?
this giving me headache because can't see why happening.
one of thoughts since there several subscribers event, cpu clocks running high while 1 control processes data while others have wait process process on ui thread. if case, best way solve this?
i hope following problem here , give me advice.
thanks,
tom
i have following issue , not sure what's best way tackle this:
the application i'm dealing utilizes live financial market data stocks, options, etc. so, there 1 class handles market data subscriptions , emits quote event.
there several controls subscribe quote event , process data event delivers.
the issue 1 control might subscribe market data msft , other control might need data ibm, still subscribed same event , control has filter incoming data event , determine if needs process or not. performance profiling showed me pretty non issue , can't cause performance spikes.
so, i'm experiencing when i'm running 1 of controls, cpu usage @ 3% max. however, open 2 of controls, see spikes 25%!?
this giving me headache because can't see why happening.
one of thoughts since there several subscribers event, cpu clocks running high while 1 control processes data while others have wait process process on ui thread. if case, best way solve this?
i hope following problem here , give me advice.
thanks,
tom
hi tom
you can use performance counters measure gc information (% time spent, generation collections, etc). launch perfmon.exe , register .net memory counters you're interested in.
hope helps
-chris
.NET Framework > Common Language Runtime Internals and Architecture
Comments
Post a Comment