Oliver Seiler wrote:
I'm guessing that the asio io_service isn't really geared towards effective use of multi-core CPUs where you're trying to schedule a large number of small computational tasks; I'll go out on a limb and say that this *wasn't* the intent of the library (as the name somewhat implies).
Not sure if that was helpful, but it let me play around with TBB, which seems very nice.
You're saying that it is taken for granted that ASIO is bad at handling a great deal of (small) tasks? Taken that for true, then asio also must be bad at handling a large number of small network messages. I.e., I shouldn't try handling all data of a couple of NICs with ASIO, at least not using a threadpool setup? I was under the impression that ASIO is a high-performance asynchronous event and IO library, and as such, is good at everything it does... Perhaps a lock-free task-queue would change things for the better. Thanks for pointing out TBB, I'll take a look -- however I'm primarily interested in taking message handling/event handling to the max. Cheers, Rutger