> Amdahl's Law predicts performance will approach a limit with added cores, but still predicts that each core will improve performance.
And I would agree: on my systems, efficiency cores are used to handle other tasks and keep the power core cold and ready to use when needed (dynamic frequency scaling)
> Trying to manually batch work risks one thread running faster than the others and then idling when it runs out of work. This is common on modern hardware with heterogeneous cores and dynamic frequency scaling.
Yes, I think the issue here is more that python can't introspect the cgroup artificial limitations placed by docker on the CPU it's using, causing the kink past 9.
If the goal is performance, I think it would be better to assign the cores manually + use cpu pinning + declare to the containers what resources it really has.
On a NOHZ kernel, you can do manual assignments like nohz_full=1-3,5-7 rcu_nocbs=0-3,5-7 irqaffinity=4
This puts the IRQ burden on one core but you can do 2 (with =4,5) etc