Releases: Prohect/ProcGovernor
Releases · Prohect/ProcGovernor
Release list
v3 rewrite: config v3 and physical-core thread pools
ProcGovernor v3
The v3 rewrite: a physical-core thread-pool engine and a new config format.
Highlights
- Config v3 DSL (
@version = 3): keyed, order-free, optional fields;@entry,@keep,@streakhysteresis defaults; repeatableprime+={...}andideal+={...}pools. Adding a key is never a breaking change. - Portable CPU expressions:
pcores,ecores, andallbuilt-ins derived from hybrid P/E-core topology detection, so configs work across CPUs and HyperThreading on/off. - v3 engine (
engine3): physical-core allocation, tier-1 membership debounce, deal-ring placement with sticky pins, per-pool hysteresis, cross-pool core ledger, and group-aware ideal-processor hints. - Migration tool:
-migrateconverts v2 configs to v3 (positional fields -> keyed,?Ntracking ->track=N,@cpuset ->reset_ideal,*a*bchaining -> repeated pools). - CLI: new
-topologyand-validatemodes;pg_workerdiagnostic binary. - Docs: all module docs refreshed for the v3 engine (en-US, ASCII-only, link-resolved).
Compatibility
The v2 engine is unchanged and still runs legacy configs unchanged. v2 configs are routed automatically; use -migrate to move to v3.
v2.0.0 - Job Object Affinity
Breaking Changes
- Config rule syntax now includes a required job_affinity field (3rd field) between priority and affinity. Add
0to skip:name:priority:0:affinity:... - See migration guide in README
New Features
- Kernel-enforced CPU affinity via Windows Job Objects (new
job_affinityfield) — prevents processes and children from running on excluded CPUs - New
job_object.rsmodule withJobObjectManagerfor caching named job objects - New
apply_job_object_affinity()inapply.rs - Config hot-reload updates job object affinity mask on alias redefinition
Improvements
- Refactored
main.rsto useproc_governorlibrary crate (newlib.rs) - Non-grade loops now properly set alive status for scheduler tracking
- Bug fix:
reset_alive()scheduling fix for non-grade loops
Docs
- Full documentation for all new types and functions in
docs/en-US/anddocs/zh-CN/ - Updated README with v1.x → v2.0 migration guide
1.0.6
1.0.5
fix bug where resources is not cleaned alfer entering tracking
performance optimize
Full Changelog: 1.0.4...1.0.5
1.0.4
1.0.3
1.0.2
Improve ETW sleep loop throttling in main
Full Changelog: 1.0.1...1.0.2
1.0.1
1.0.0
event driven refact.
stack memory collection instace acceleration.
lazy load of get_threads
Full Changelog: 0.14.3...1.0.0