Back in a day, most computers were desktop machines with the main goal for the hardware, to offer absolute best performance and there was no real need for technologies such as SpeedStep, Turbo Boost etc.
However, in the modern world, power consumption sometimes takes a higher priority than performance output. Considering significant change in technology and expectations from the hardware, CPU's have gotten a lot of new features such as TurboBoost, SpeedStep, Hyper-Threading and individual core state/s that help to reduce power consumption and heat. Even though these are all positive changes, it sometimes creates a situation where an end user is not getting top performance when it is required (delayed performance boostboost). This can be caused by many hard to predict factors, such as system state, availability, CPU state, heat and many many more. This application was made to provide help in controlling such factors and reduce the effect of degrading performance when possible. Many features mentioned above will be described in greater details in the description below, so if you are interested read on ...
CPU Core Parking
CPU Core parking is a feature that was introduced in Windows Server 2008 R2. The processor power management (PPM) engine and the scheduler work together to dynamically adjust the number of cores that are available to run threads. The PPM engine chooses a minimum number of cores for the threads that will be scheduled. Cores that are parked generally do not have any threads scheduled, and they will drop into very low power states when they are not processing interrupts, DPCs, or other strictly affinitized work. The remaining cores are responsible for the remainder of the workload. Core parking can potentially increase energy efficiency during lower usage.
The problem with Windows way of core parking is lack of flexibility since by default you are given very few options for setting Core parking index on your machine
Here's an example of how core parking actually works and the meaning of an index number:
Let's say we have a CPU with total of 6 cores (including logical) this will be 100% of our CPU power, where each core will represent about ~ 17% (100 / 6 = 16.6 ~17). Now for example we would like that 4 cores out of 6 to never be parked by the OS regardless of the load. In this case we set the number to 68% (17 * 4 = 68). This will tell the OS that it can only park 2 cores out of 6. For example, if we set the number to a 100% we are basically telling the OS that NONE of our CPU cores can be parked and they should function at all times with full performance (see the pictures below), and in the opposite case scenario if we set the number to 0% or close to that, OS will be able to park any number of cores (don't forget to press the "Apply" button when you are setting the number). I hope this'll help explaining how it works.
Prerequisites: This application requires .NET Framework 4.6.1 to be installed on your machine. In case you don’t have it yet, you can download it from the Microsoft site: .NET Framework 4.6.1 Web Installer