As far as I understand, CoWork detects number of processors present and tries to execute threads on different cores. Is that so?
Yep, that is the main goal.
Quote:
Can I have CoWork statistics how many theads are executed on each processor?
No But the thread-pool is set to number-of-logical-cpus + 2.
"2" is arbitrarily choosen number. In reality, "jobs" can do I/O, so you want a reserve for blocking operations. OTOH, too much more threads would cause too much overhead - it seems that >5 slows things down.
If you want some deeper insight into CoWork operations, you can activate LLOG and LDUMP in Core/CoWork.cpp.
BTW: In debug mode, it is very common to see less than 100% CPU utilization even when using CoWork. This is caused by fact that quite frequently called memory allocator is in debug locked (to do diagnostics agenda).