I have been doing lots and lots of testing, quite extreme actually.
I have been tinkering with various hidden power settings that manipulate the cpu scheduler.
Doing tests with cpu-z bench as quick and simple test.
So when we think about single threaded, by default these hybrid cpu's keep all p-cores parked, I dont yet know what determines to get a p-core unparked, but I do know that it will always prioritise the 2 preferred cores, these clock higher than the rest of the cores. If all the p-cores are unparked which can be done by adjusting the scheduler settings to force them to always be unparked (or via software calls likely, as an example all core cinebench unparks them), then single threaded performance will be hurt as it seems to be the parking mechanism that routes single threaded load to the preferred cores, once more are unparked it becomes at the mercy of the standard cpu scheduler.
If the e-cores are disabled in the bios, then some p-cores will always be unparked, and it increases the chance of non preferred p-cores been unparked, I have yet to test with e-cores disabled as personally I dont think thats the best way to use these chips, but I will do at some point, the second likely problem with disabling e-cores is you cant remove background tasks from the p-cores. This I was able to observe a noticeable impact on the single threaded cpuz score.
So using something like process hacker move svchost, browser process, afterburner, hwinfo, discord and other background apps to e-cores via affinity settings. There is also the cpu scheduler master setting which has 5 options.
Automatic
efficient cores
prefer efficient cores
prefer performant cores
performant cores
Now when I tested 'performant cores', it was a lower score vs 'prefer performant cores', likely because when using prefer, it moves lower demanding tasks conflicting on the core to e-cores when a heavy task is running. I hadnt moved every single background binary to e-cores only the biggest one's.
The e-cores also dont just offer more raw grunt, but they also offer more cores to reduce scheduling bottlenecks (can cause stutters in games). This is the primary reason why I think its better to have them available.
The downside of them is if anything interactive runs on them instead of the p-cores then that might give slower interactive performance, and also potentially can be less power efficient, as an example if 'any' p-core is unparked, all e-cores will stay at max clocks due to default power scheduler settings (hidden setting) and this also raises the vcore significantly. So I expect there is no perfect solution to cover all bases, but it is still something I am experimenting with. I have noticed occasionally things run on them when I dont want to, e.g. the UAC prompt always seems to use e-cores to process the prompt box. Unless 'performant cores' forces it over, and I havent found a way to adjust that via process hacker.
Via hidden settings the min number of unparked p-cores is adjustable, so you can force them to stay awake, if using prefer p-cores or forced p-cores these do NOT force cores to unpark, so they only actually work if p-cores are available, luckily keeping both preferred p-cores always unparked has no noticable effect on vcore or power consumption, however keeping 'all' p-cores always unparked does have an effect especially when p-core clocks are increases and as mentioned earlier no longer ensures single threaded stuff goes to a preferred p-core.
If you dont care about the scheduling bottlenecks from having less cores, then an approach could be made by disabling all e-cores, then also setting all cores to same clocks as preferred p-cores (if cpu can handle it, might need a voltage bump), by changing to an all core clock that removes any concerns about needing preferred p-cores for max single threaded performance. But will still lose some for having bg tasks running on them. (my single thread score went down by about 4-5% when not moving task to e-cores)
I have also confirmed as a quick and dirty adjustment, simply using the high performance or ultimate power profile, combined with routing background stuff specifically to e-cores and adjusting the thread scheduler to "prefer performant cores" gives insane performance all over the shop, easily beating my 9900k at everything, but is a bit power inefficient this way when using light load e.g. 30 watts cpu package power to watch youtube.
For what its worth I think its inevitable AMD will bring out a variant of e-cores, on their server chips I think they are just cores with less cache, so might see same on future desktop chips.