Subj : Re: Optimizing for latency To : comp.programming.threads From : Jomu Date : Wed Jun 08 2005 10:17 am 10% CPU for single device controlled is alarming... It's a lot of CPU cycles. That "interrupt driven" system is very busylooploking. One way (short of inspecting that low level API) would be to improvise - to use that API in "non-blocking mode" and there make smaller time slices while waiting for I/O. That would be pooling mode (as it is obviously now, but with higher expectations :). So it will be: while (!receive(..., FALSE)... ) { sleep (0.005) }; Of course, YMWV, you will know speed of your device better, and time in which whole package can arrive - that is time I would use for delaying, or half of it. dd .