At a high level, each CPU core has its own L1/L2 caches and execution engine. The L1 has separate data cache and instruction cache. The execution engine is where all the actual CPU work gets done. When hyperthreading is enabled, the two hyperthreads share the L1/L2 caches and execution engine. That is why a hyperthread enabled core will not match the performance of two separate cores (e.g. 2 core/4threads CPU cannot match a 4 core/4 thread CPU).
In this situation with 12 vCPUs assigned to the VM, it is as close as it gets to have a 6 core/12 thread performance even though the Windows VM sees 12 virtual cores as the underlying hardware remains the same. While CPU virtualisation technology has vastly improved and made running VMs more efficient, there is still some unavoidable overhead of running a VM that will never be issue when compared to running Windows on the Mac mini natively.
Playing devil's advocate, if you don't have a need to access the macOS while this workload is running, why not run this workload within Windows Bootcamp natively instead of as a VM?
Clik here to view.
