Köker Optimizer 1.0
An early Windows performance utility for experimenting with process/thread priorities, processor affinity and related runtime parameters for a selected application.
Köker Optimizer 1.0 was an early Windows utility I developed to experiment with process and thread priorities and related runtime parameters for a selected application.
The program could add an entry to the executable-file context menu, launch a selected application through its own workflow and monitor that process in the background. When the target terminated, temporary changes were reverted and the optimizer exited.
Priority Does Not Create Capacity
The most important retrospective correction is that increasing process priority does not increase the total computational capacity of the CPU.
The scheduler distributes existing CPU time among runnable threads. Priority can influence which work receives CPU time first under contention, but it does not eliminate background work.
Excessive priority changes can delay other important tasks and make an interactive system less stable rather than faster.
Processor Affinity and Working Set
CPU affinity restricts where a process or thread may execute. It can be useful in specific workloads for locality or controlled measurement, but arbitrary pinning does not generally improve performance.
Likewise, manipulating a process working set does not create physical memory. Forcing memory-management behavior can increase page faults and I/O.
I/O and Thread Priority
Windows exposes resource-management controls beyond process CPU priority. Thread and certain I/O priorities affect different scheduling domains and should not be treated as one universal "performance" setting.
The project made operating-system scheduling and resource parameters directly observable and tied the lifetime of those settings to the selected process.
Measurement-Driven Performance
Priority or affinity should follow measurement of whether the workload is CPU-, I/O-, lock- or memory-bound. Scheduler changes are useful only when the evidence points to that behavior.
The theoretical context is covered in my Operating Systems and Computer Architecture notes.
Connection to Later Performance Work
This early tool made scheduler priority and process-affinity settings directly observable. In later Java work I applied the same measurement discipline to JIT, GC, allocation and thread behavior in Runtime Optimization in Java Systems.