windowsdeploymentcompilationexecutionaffinity

Any way to make program run only on a performance core (P-core)?


I need to run a compiler, and people have previously found that it runs well on a single core.

Now that Intel's 12th generation consumer chips have separate P-cores and E-cores, can I somehow tell the compile worker to run specifically on a P-core, so that it gets the fastest core on my machine?


Solution

  • Unless someone restricts the affinity mask on purpose, Windows is free to move threads to different CPUs as it sees fit. This most likely includes putting CPU intensive tasks on the faster cores.

    This applies not just to different physical core types but also the older feature known as Core parking and motherboard layout on NUMA systems.

    How Windows uses cores is probably influenced by the battery status and if features such as battery saver are enabled.