http://www.perlmonks.org?node_id=1002393


in reply to Re: Slow performance of non-blocking select?
in thread Slow performance of non-blocking select?

Thanks flexvault!

My first thought was: "I'm using non-blocking IO::Select objects, so the time-out shouldn't matter"

...but that seems to have been the problem. 'can_read' and IO::Select::select both seem to be blocking even though I'm calling $obj->blocking(0);

By using a very small time-out, I'm able to get very close to the performance of the original version of that package. Some runs actually show the new version out-performing the old one.

The way the code is structured, it misses time that it could be doing other things while it is being blocked on can_read, so I don't get the advantage that you may be getting.

Cheers!
  • Comment on Re^2: Slow performance of non-blocking select?