For once I cannot figure out the number of cores and how to assign them correctly. In Player I only get to set the number with a maximum of 16 (vmware 17). That then translates into Windows showing me 2 sockets with 8 virtual processors (when chosing the logical view). I prefer seeing 16 in the graph.
Now, the lower part of the pic shows me having 14+6 in my main machine. Since the logical processors are simpler I would be just happy to let vmware use 14+2 then and let the 4 remaining handle mail & al.
But the only way I managed to achieve this was by changing the vmx to
numvcpus = "16"
cpuid.coresPerSocket = "16"
(as shown in the upper part of the pic)
I probably should boot up my Vmware Pro and check what it has in the CPU UI and what it writes into the vmx. Or run a CPU speed test with a few different options and see what I get as actual results.
So I guess my question is, is this just how Windows displays things (2 and 8)? Selecting number of processor cores = 16 in vmware becomes
numvcpus = "16"
cpuid.coresPerSocket = "4"
in the vmx
This makes no sense to me either, would have believed in a quad but I guess I hit the 2 socket limit (the virtual machine is running Win10).
Is that beneficial somehow compared to having 1 socket and 16 cores (as Windows shows it for the numvcpus = "16" , cpuid.coresPerSocket = "16" configuration)?
Amazing I could not find a proper explanation of all this anywhere. Apart from some posts saying vmware sucks with pcores and ecores, basically use only pcores.
Of course I had to run some benchmarks to test things out. Single thread/All.
| 14 pcores | 2/8 | 14 pcores + 2 ecores | |
| Geekbench6 | 2249/11104 | 2246/9372 | 2277/11138 |
| Passmark | 3696/24357 | 3914/19043 | 3579/25343 |
So assuming pcores are used first, using only the amount of pcores seems pretty good (numvcpus = "X" and cpuid.coresPerSocket = "X").
2 sockets and 8 logical which is what vmware uses by default if you select the maximum 16, either gets a massive hit from switching or then we are not using 16 at all, maybe only 8 (numbers would indicate we do use 16 though). Still surprised by the massive hit though, could also be benchmark related of course.
Going for 16 using 2 ecores raises the full score marginally, each ecore=30%*pcore in Passmark, almost no effect in Geekbench.
Going to stay at 16=14+2 then. Not for the marginal increase but it seems to work and if vmware someday would upgrade so that the virtual machine would understand ecores, maybe having 2 ecores in there would make sense.
Now, if someone could prove using only 12 pcores and leaving 2 pcores and 6 ecores for the main machine because of Teams recordings or something, that would be an interesting read.
Also stumbled upon this which holds the interesting idea of disabling the ecores in your vmx:
When compiling, I haven't seen any throttling or parking issues myself.
