# yc9559/uperf

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/yc9559-uperf).**

3,387 stars · 156 forks · Shell · apache-2.0

## Links

- GitHub: https://github.com/yc9559/uperf
- awesome-repositories: https://awesome-repositories.com/repository/yc9559-uperf.md

## Description

uperf is an Android performance tuning tool and Linux kernel parameter manager designed to optimize device responsiveness and battery life. It functions as a CPU affinity and scheduling manager, a hardware power profile controller, and a real-time system monitor that adjusts kernel parameters and CPU frequencies.

The project distinguishes itself through real-time system monitoring of touchscreen input and frame rendering to trigger immediate performance boosts. It utilizes hardware performance profiling to apply pre-tuned configuration files tailored to specific hardware platforms, balancing energy efficiency and throughput.

The utility covers several core capability areas, including CPU task binding and thread affinity mapping to reduce frame drops, and dynamic power management to switch between performance and battery saving profiles. It also includes rendering performance analysis to detect and prevent frame drops by proactively increasing CPU frequency.

This system utility is implemented primarily in Shell.

## Tags

### Operating Systems & Systems Programming

- [Android Performance Tuning Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/android-performance-tuning-tools.md) — Provides a comprehensive system utility for optimizing Android device responsiveness and battery life via kernel and CPU tuning.
- [CPU Affinity Binding](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-affinity-binding.md) — Implements CPU affinity binding to pin UI threads to high-performance clusters and reduce latency.
- [UI Thread Pinning](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-affinity-binding/ui-thread-pinning.md) — Forces user interface threads onto high-performance CPU clusters to reduce lag. ([source](https://github.com/yc9559/uperf#readme))
- [Dynamic CPU Frequency Scaling](https://awesome-repositories.com/f/operating-systems-systems-programming/dynamic-cpu-frequency-scaling.md) — Adjusts CPU clock speeds based on energy consumption to balance single-core performance and multi-core efficiency. ([source](https://github.com/yc9559/uperf/blob/master/changelog.md))
- [Performance Optimization Profiles](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-configuration-profiles/performance-optimization-profiles.md) — Implements pre-tuned configuration files tailored to specific hardware platforms to optimize energy efficiency and throughput.
- [Hardware Profile Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-profile-managers.md) — Manages and switches between hardware configuration profiles to balance energy efficiency and system throughput. ([source](https://github.com/yc9559/uperf#readme))
- [System Parameter Tuners](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/memory-allocation-libraries/low-level-system-operations/system-parameter-tuners.md) — Dynamically manages and tunes low-level system parameters using data-driven rules. ([source](https://github.com/yc9559/uperf/blob/master/changelog.md))
- [Kernel Node Orchestrators](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-node-orchestrators.md) — Writes values to kernel nodes using regular expressions and data-driven rules to modify system behavior.
- [Power Profile Management](https://awesome-repositories.com/f/operating-systems-systems-programming/power-profile-management.md) — Provides mechanisms to switch between predefined power profiles like balance and performance. ([source](https://github.com/yc9559/uperf/blob/master/README.md))
- [Rendering Event Tracking](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/display-compositors/gaming-compositor-tuning/compositor-performance-tuning/rendering-event-tracking.md) — Tracks rendering events via the display compositor to increase performance before stutters occur. ([source](https://github.com/yc9559/uperf#readme))

### System Administration & Monitoring

- [Android Device Management](https://awesome-repositories.com/f/system-administration-monitoring/command-line-system-administration/android-device-management.md) — Provides privileged administration and optimization of Android system resources and kernel parameters.
- [User Activity Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/activity-monitors/automated-activity-loggers/user-activity-monitoring.md) — Tracks touchscreen, key, and mouse interactions to identify user activity and trigger performance adjustments. ([source](https://github.com/yc9559/uperf/tree/master/config))
- [Interaction-Driven Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/interaction-driven-performance-monitors.md) — Tracks touchscreen input and frame rendering in real-time to trigger immediate performance boosts based on user interaction.
- [CPU Performance Tuners](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-tuning/cpu-performance-tuners.md) — Monitors CPU usage and frequencies in real-time to apply aggressive performance hints during heavy load scenarios. ([source](https://github.com/yc9559/uperf#readme))
- [Sysfs Polling Monitors](https://awesome-repositories.com/f/system-administration-monitoring/polling-based-health-monitors/sysfs-polling-monitors.md) — Utilizes sysfs polling to monitor CPU usage and frequencies for applying performance hints.
- [System Load Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring/system-load-monitors.md) — Polls CPU usage and frequency in real-time to identify heavy load bursts and trigger high-performance modes. ([source](https://github.com/yc9559/uperf/blob/master/README.md))

### Development Tools & Productivity

- [Predictive Frequency Scaling](https://awesome-repositories.com/f/development-tools-productivity/frame-by-frame-debuggers/automatic-frame-stutter-detectors/predictive-frequency-scaling.md) — Hooks into the display compositor to detect rendering stutters and proactively increase CPU frequency.

### DevOps & Infrastructure

- [Kernel Parameter Tuning](https://awesome-repositories.com/f/devops-infrastructure/hardware-configuration-tools/hardware-specific-boot-configurators/kernel-parameter-tuning.md) — Optimizes system behavior by writing values to specific kernel nodes for various scenarios. ([source](https://github.com/yc9559/uperf/tree/master/config))
- [CPU Scheduling Policies](https://awesome-repositories.com/f/devops-infrastructure/task-scheduling-policies/cpu-scheduling-policies.md) — Assigns tasks to specific CPU cores based on their role to isolate UI processes from background work. ([source](https://github.com/yc9559/uperf/blob/master/changelog.md))
- [Configuration File Loading](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/configuration-file-loading.md) — Loads pre-tuned hardware parameters from external configuration files to optimize energy and throughput.

### Mobile Development

- [Android Frame Rate Stabilizers](https://awesome-repositories.com/f/mobile-development/android-frame-rate-stabilizers.md) — Monitors rendering signals and increases CPU frequencies to prevent stuttering on Android.

### Programming Languages & Runtimes

- [CPU Core Partitioning](https://awesome-repositories.com/f/programming-languages-runtimes/high-concurrency-runtimes/resource-allocation-groups/cpu-core-partitioning.md) — Partitions CPU resources by assigning specific processes and UI threads to high-performance clusters.

### Graphics & Multimedia

- [Predictive Frame Drop Prevention](https://awesome-repositories.com/f/graphics-multimedia/predictive-frame-drop-prevention.md) — Analyzes system frames to predict imminent drops and increase CPU frequency to maintain smooth playback. ([source](https://github.com/yc9559/uperf/blob/master/changelog.md))

### Software Engineering & Architecture

- [Interaction Scenario Triggers](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-triggers/interaction-scenario-triggers.md) — Monitors input signals and wake-locks to trigger performance boosts based on real-time user interactions.

### User Interface & Experience

- [Interaction Scenario Recognition](https://awesome-repositories.com/f/user-interface-experience/interaction-scenario-recognition.md) — Detects touch, tap, swipe, and wake-up events by monitoring input signals to trigger performance hints. ([source](https://github.com/yc9559/uperf/blob/master/README.md))
- [Rendering Performance Monitors](https://awesome-repositories.com/f/user-interface-experience/rendering-performance-monitors.md) — Hooks into the system rendering process to detect frame drops and proactively increase CPU frequency. ([source](https://github.com/yc9559/uperf/blob/master/README.md))
