> Eeek.  Are you sure you're not wasting more resources switching contexts
> than you're gaining by nominally keeping a thread on all cores at all
> times?  (Some of that CPU time is being spent moving threads around rather
> than running them.)
>
>
The threads are used to hide IO for the most part.. when then need to do
work they acquire a semaphore which is usually the number of cores.

so we only context switch when a packet is available, then we acquire the
semaphore to do the actual work.

Ideally the entire system would be async IO but this is a good compromise.


> I don't know what priority it runs as, but could you figure it out by
> attaching a debugger and setting a breakpoint and then examining the thread
> in the Watch/Expressions windows?  You might even try raising that thread's
> priority (via the debugger, initially) and seeing if it makes an
> improvement.
>

Another way to do is to enumerate all threads and then read the priority
back out…

Kevin

-- 

Founder/CEO Spinn3r.com
Location: *San Francisco, CA*
blog: http://burtonator.wordpress.com
… or check out my Google+ profile
<https://plus.google.com/102718274791889610666/posts>

Reply via email to