{"adoption": {"forks": 155, "observed_at": "2026-08-28T04:08:03.522386+00:00", "stars": 3413}, "canonical_url": "https://ross.abutalabs.com/products/uperf", "card": {"archived": false, "artifact_type": "application", "description": "Userspace performance controller for android", "domain": ["android-tools", "performance", "operating-systems"], "enriched": true, "function": ["monitoring", "configuration-management", "developer-tools"], "health_score": 20, "homepage": null, "language": "Shell", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["yc9559/uperf"], "name": "yc9559/uperf", "platform": ["cli"], "pushed_at": "2022-09-04T09:33:35+00:00", "repo": "yc9559/uperf", "stars": 3413, "tags": ["cpu-governor", "sysfs", "magisk-module", "root", "power-management", "cpu-frequency-scaling", "game-performance", "android", "shell"], "topics": [], "urls": [], "use_cases": ["reduce lag and stutter when launching apps on Android", "improve gaming performance on a rooted Android phone", "lower battery drain while keeping the phone smooth", "replace kernel-level CPU boost with a userspace controller", "bind foreground app UI threads to big CPU cores", "switch performance profiles per app on Android"], "what_it_is": "Uperf is a userspace performance controller for Android that dynamically tunes CPU frequencies, thread affinity, and other sysfs parameters based on recognized usage scenarios like app launches, touch input, and rendering. It installs via Magisk or manually with root, supports Android 6.0-12 on arm64 devices, and ships pre-tuned configuration profiles for popular hardware platforms.", "when_to_avoid": ["your device is not arm64 or runs Android 13 or newer", "you have no root access and cannot use Magisk", "your SoC has no prebuilt configuration profile and you cannot tune it yourself", "you need a GUI-only solution with no shell configuration"], "when_to_choose": ["you have a rooted Android device (Magisk 20.4+ or manual root) and want dynamic CPU frequency and scheduling tuning", "your device's stock performance governor is too aggressive or too conservative", "you want scenario-aware performance boosting (touch, app launch, rendering) without a custom kernel", "you want per-app performance modes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/uperf", "repo": "yc9559/uperf", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.522386+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:38:30.202396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cf81651c406f5028bd2c4687515b82980eb7897581372f4292036f53f739595", "fetched_at": "2026-08-28T04:08:03.522386+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yc9559/uperf"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2377, "days_push": 1459, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}