Earlier quoted context omitted.
> If you have a program that can use more than 8 cores, then that 8P+12E CPU should approach a 14P CPU in speed Only if you use work stealing queues or (this is ridiculously unlikely) run multithreaded algorithms that are aware of the different performance and split the work unevenly to compensate.
Or if you use a single queue... which I would expect to be the default. Blindly dividing work units across cores sounds like a terrible strategy for a general program that's sharing those cores with who-knows-what.
Eg you have 100M rows and you want to cluster them by a distance function (naively), running dist(arr[i], arr[j]) is crazy fast, the problem is just that you have so many of them. It is faster to run it on one core than dispatch it from one queue to multiple cores, but best to assign the work ahead of time to n cores and have them crunch the numbers.