EfficiencyTool
A bash script wrapped with Swift to send PIDs to the efficiency core.
Overview
EfficiencyTool is a utility for macOS designed to help you manage how your apps use your Mac’s efficiency and performance cores. By wrapping a Bash script with a Swift interface, EfficiencyTool lets you assign specific process IDs (PIDs) to the efficiency core for better system resource management. It is especially useful for Chromium-based browsers and Electron apps.
Features
- Assign specific PIDs to the efficiency core for more efficient resource usage.
- Customizable rules to define how and when processes are targeted.
- Intelligent repeat times: the tool automatically manages cooldown periods to avoid running too frequently.
- Balance mode: uses CPU usage detection to optimize assignments and avoid causing system lags.
- Designed for safe use, but offers advanced options for users who want more control.
Requirements
- macOS with support for efficiency/performance cores (Apple Silicon recommended)
- Swift and Bash (both are installed by default on macOS)
- For building from source: Xcode with support for macOS 14 or later and an active macOS development environment
Installation
- Download the latest
.zip
file from the Releases page.
- Uncompress the downloaded file.
- Move the EfficiencyTool app to your Applications folder, or simply double-click to run.
Building from Source
- Clone this repository:
git clone https://github.com/Mmohet/EfficiencyTool.git
cd EfficiencyTool
- Install Xcode (version supporting macOS 14+).
- Make sure your macOS development environment is set up.
- Open the project in Xcode and build as usual.
Usage
- Use Activity Monitor to find the process keyword or PID you want to manage.
- Launch EfficiencyTool.
- Set up your custom rules, or use the default rules provided by the tool.
- Be careful when enabling “Front Stage Detection” or “All PIDs Detection”—these advanced options can affect system performance if not used properly.
- EfficiencyTool works best with Chromium browsers and Electron apps.
Notes
- Do not use the tool indiscriminately with all processes; it is intended for targeted use.
- Take care with advanced detection options, as they may impact foreground apps and overall user experience.
Contributing
Contributions are welcome! Please open an issue or submit a pull request if you’d like to help improve EfficiencyTool.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgements
- Inspired by the need for better resource management on Apple Silicon.
- Utilizes Swift for scripting efficiency and safety.