`pyperf system {tune,show}` on macOS
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 962
- Forks
- 106
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 4
Description
With the advent of LLM tools (eg: Claude, Codex), small optimizations are a gateway drug to contributing to the ecosystem. Many people, myself included, use a MacBook as a daily driver. However, there are many mechanisms in these machines and macOS itself that might make posted numbers not really trustworthy, even with --rigorous. I'm thinking about thermal pressure / throttling, coalescing, P/E cores, different power sources, low/high power mode, memory pressure, virtualization, noisy daemons in the background, etc. Of course, there's also pyperformance. Perhaps there's real value in extending system {tune,show} to this platform.
My understanding is that there's no macOS API for CPU affinity, but we can still check stuff (eg: pmset), provide actionable advice. There's taskpolicy and pthread_set_qos_class_self_np. The model is per worker, not global.
Perhaps the real issue here is improving our harness on macOS.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing system tune and system show entry points and run them on macOS to document their current behavior. Research the macOS mechanisms named here, including pmset, taskpolicy, power modes, thermal pressure, and worker-level scheduling. Done should mean a defined macOS harness improvement with actionable output or controls and tests covering the supported behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100