/benchkit

A developer-centric toolkit module for Android to facilitate in-depth profiling and benchmarking. MOVED to official Magisk module repo: https://github.com/Magisk-Modules-Repo/benchkit

Primary LanguageShellGNU General Public License v2.0GPL-2.0

Benchkit

A developer-centric toolkit module for Android to facilitate in-depth profiling and benchmarking.

This module uses the Unity Installer template, which means that it can be installed irrespective of the root solution you are using — it will install as a Magisk module when possible, and fall back to installing to /system directly if that isn't possible.

CPU architectures other than AArch64 are NOT supported! There are no plans to support them at this time.

Contents

Command-line utilities:

  • Dhrystone (dhrystone): A simple CPU integer performance benchmark typically used for calculating CPU capacities for an EAS energy model
  • Flexible I/O Tester (fio): A flexible generic I/O tester that can simulate a variety of configurable workloads, created by Linux block subsystem maintainer Jens Axboe
  • Hackbench (hackbench): A scheduler wakeup latency and pipe benchmark
  • IOzone (iozone): A general filesystem and I/O benchmark
  • memcpy (memcpy): A simple memory bandwidth tester that uses the memcpy(3) function from libc
  • perf (perf): The Linux kernel's native profiling tool, which also offers some built-in microbenchmarks accessible via perf bench (kernel 4.9 version)
  • rt-app (rt-app): A flexible real-time application simulator designed to replicate typical mobile workloads in a reproducible manner
  • schbench (schbench): A minimal and detailed scheduler wakeup latency benchmark by Facebook
  • SLABtop (slabtop): A tool to show kernel SLAB memory usage details (requires CONFIG_SLUB_DEBUG=y in kernel)
  • stress-ng (stress-ng): A program to stress-test various hardware and kernel subsystems
  • sysbench (sysbench): A scriptable database and system performance benchmark with several built-in scripts
  • callbench (callbench): A program to measure the speed of simple time syscalls and vDSO calls, as well as basic file I/O using both mmap(2) and read(2)
  • GTcycles (gtcycles): A tool to measure the frequency of the CPU's generic timer
  • cyclictest (cyclictest): A program to measure timer expiration delay, useful for real-time latency testing

Android apps:

  • UIBench: Google's app (from AOSP) for testing various mobile workloads and UI rendering tasks
  • TouchLatency: Google's app (from AOSP) for testing touch latency as well as frame rendering times and missed frames

All native executables have been stripped of symbols and DWARF debug info to reduce size.

Links

Credits