Dear all, I have been testing asio's io_service in a threadpool setup for job dispatching. However, it seems as if adding threads doesn't improve performance; perhaps even the opposite with 1 thread having the best performance. See below for some results of a simple test I'm doing, posting 10 M jobs to the io_service, and starting N threads at io_service::run after that. Timings below are measured on an 8-core machine, I would expect the execution performance to improve (not to get worse) for execution by more threads. Posting to the io_service is done single-threaded, so these timings should remain approx. the same. Please find attached the test program. Is there something I've missed and/or should tweak to get the desired improvement per added thread? Many thanks, Kind regards, Rutger ter Borg Concurrency = 1 Finished posting after: 3.15 Finished execution after: 5.44 Execs / sec: 1e+07/2.29=4.36681e+06 Concurrency = 2 Finished posting after: 2.85 Finished execution after: 5.47 Execs / sec: 1e+07/2.62=3.81679e+06 Concurrency = 3 Finished posting after: 3.15 Finished execution after: 11.65 Execs / sec: 1e+07/8.5=1.17647e+06 Concurrency = 4 Finished posting after: 3.15 Finished execution after: 9.8 Execs / sec: 1e+07/6.65=1.50376e+06 Concurrency = 5 Finished posting after: 3.28 Finished execution after: 12.45 Execs / sec: 1e+07/9.17=1.09051e+06 Concurrency = 6 Finished posting after: 3.29 Finished execution after: 8.84 Execs / sec: 1e+07/5.55=1.8018e+06 Concurrency = 7 Finished posting after: 3.51 Finished execution after: 10.09 Execs / sec: 1e+07/6.58=1.51976e+06 Concurrency = 8 Finished posting after: 3.38 Finished execution after: 12.54 Execs / sec: 1e+07/9.16=1.0917e+06