Benchkit is a developer-centric toolkit module for Android with a plethora of tools for in-depth profiling and benchmarking. Many of the tools are focused on kernel benchmarking, but userspace (i.e. Android) benchmarking is also covered by some of them. This module aims to make empirical data-driven development more accessible so people can make optimal tuning decisions based on real results.
The only supported CPU architecture is little-endian AArch64, which includes almost all modern Android phones.
Contents
Command-line utilities:
- Bonnie++: General filesystem and I/O benchmark
- callbench:
Measure the speed of simple time syscalls (with and without vDSO) and basic in-memory I/O using
mmap(2)
andread(2)
. A 32-bit version is available ascallbench32
for 32-bit vDSO testing. - cyclictest: Measure timer jitter, useful for real-time latency testing
- Dhrystone: Simple CPU integer performance benchmark typically used for calculating CPU capacities for an EAS energy model
- Flexible I/O Tester (
fio
): Flexible generic I/O tester that can simulate a variety of configurable workloads - GTcycles: Measure the frequency of the CPU’s generic timer
- Hackbench: Scheduler wakeup latency and pipe benchmark
- IOzone: General filesystem and I/O benchmark
- memcpy:
Measure memory bandwidth using libc’s
memcpy(3)
function - perf:
Profiling tool (from Linux 4.9) for kernel and userspace. Some microbenchmarks are also available in
perf bench
. - rt-app:
Flexible real-time application simulator designed to replicate typical mobile workloads in a reproducible manner. Some reference tests from ARM are available in
/system/etc/rt-app
. - schbench: Scheduler wakeup latency benchmark
- stress-ng: Stress-test various hardware and kernel subsystems
- sysbench: Scriptable database and system performance benchmark with several built-in tests
- hyperfine: Advanced benchmark runner that makes it easy to run benchmarks in a statistically sound manner and export results into machine-readable formats
- synthmark: Benchmark CPU performance with real-time audio workloads (by Google; CLI version)
Android apps:
- JankBenchX: joshuous’ modified version of AOSP JankBench for automatic reproducible UIBench testing
- TouchLatency: Test touch latency and jank in simple scenes (from AOSP)
- UIBench: Google’s AOSP app for testing various mobile workloads and UI rendering tasks
- Audio Latency Test (shows as “Latency Test”): Test end-to-end (i.e. speaker to microphone) audio latency (from Superpowered)
- SynthMark: Benchmark CPU performance with real-time audio workloads (by Google; GUI version)
- OboeTester: Various audio-related tests including latency and glitch testing (by Google)
Links
Credits
- ARM for LISA and Workload Automation
- celtare21 for the IOzone executable
- The respective authors of all tests included in this module
Download Link
Module Info
Other modules
AdGuardDNS4Magisk
To make it short: a DNS server listen and give you the corresponding IP address of your website …...
Advanced Charging Controller
DESCRIPTION LICENSE DISCLAIMER WARNINGS DONATIONS PREREQUISITES QUICK START GUIDE Notes BUILDING …...
SUI
Modern super user interface (SUI) implementation on Android. The name, Sui, also comes from a …...
Nano NDK Magisk / Kernelsu Module
Nano NDK is a valuable tool for Android enthusiasts and power users who enjoy customizing and …...
Busybox NDK Android By osm0sis Magisk Kernelsu
BusyBox by osm0sis: The Swiss Army Knife of Embedded Linux Systems BusyBox, created by Denys …...
Pixel Xpert Magisk / Kernelsu Module
Pixel Xpert is a module for rooted Pixel phones running Android 13 and later, designed to unlock …...
Disable Target API Block Magisk and kernelsu modules
Android 14, Google started blocking old apps (those targeting a target API lower than 23, i.e. …...
4K60 Camera Mod
Want to unleash the full power of your smartphone camera? The 4K60 Camera Mod Magisk Module might be …...
Android Logger Booting
This module functions to record logs when booting Android and will be saved in /data/local/logger. …...
Audio misc settings
A Magisk module for setting miscellaneous audio configuration values This module, changes the number …...