Some threads are set to run in the background, and get allocated to the E cores. Could you run them in a VM, and effectively promote them to run on P cores instead?
Icestorm
Just how fast is a Mac Studio with an M1 Ultra? It all depends on the factors discussed here, with details of M1 series CPU performance.
Users and other processes have very limited control over which threads are run on which type of core. As Apple Silicon develops, this is an area set for change.
From the anatomy of the CPU cores, to the queues of threads in GCD, and assignment to a core cluster, this details how threads are managed for the M1 series chips.
Why can’t the taskpolicy command tool be used to promote software to be able to run on the M1 chip’s Performance cores? Does it change QoS?
An accessible summary of the CPU cores in M1 chips, and how they appear to be managed by macOS to get the best for different classes of process.
Results from running 10-70 identical compute-intensive processes on M1 chips shows the differences in strategy between background and high priority settings.
macOS manages the loading and frequency of M1 cores according to the QoS set, and rules which differ between the original M1 and the M1 Pro.
How the two Efficiency cores in the M1 Pro and Max chips can match the performance of all four E cores in the original M1.
What are the penalties in real-world use for running your code on Icestorm cores, using around 10% of the power used by Firestorms?