Mobile performance testing · 6 articles
Articles
- HarmonyOSSPEC CPU
Implementing the SPEC test executor on HarmonyOS
The compute code of a SPEC workload is only one part of the test system. Once it lives inside a HarmonyOS app, inputs still have to be prepared, an execution environment set up, lifecycles controlled, time measured, output checked, and all of this linked into a result that can be re-examined. In our SPEC CPU2017 and CPU2026 apps these duties sit in the executor: ArkTS manages tasks, the native layer runs the workload, and the validation layer decides whether a result may count.
~9 min read - HarmonyOSGFXBench
Porting the GFXBench graphics tests to HarmonyOS
When bringing GFXBench's Aztec Ruins graphics workload into a HarmonyOS app, we split the work in two: ArkTS handles test selection, asset preparation, the run page and saving results, while the native layer owns the graphics context, scene initialization, the render loop and scoring. The two sides exchange test descriptions and results over NAPI and connect to the system display path through the NativeWindow provided by XComponent.
~8 min read - HarmonyOSmemory bandwidth
MemStorageBench: measuring memory bandwidth and storage throughput on HarmonyOS
MemStorageBench splits memory and storage testing into two independent workloads: memory bandwidth measures the data traffic produced by a fixed copy workload, and sequential storage measures the throughput of a fixed file under continuous reads and writes. The UI shows rate, elapsed time and validation status, and every result keeps its workload, units and measurement method.
~8 min read - HarmonyOSperformance monitoring
MonitorHarmony: implementing on-device performance monitoring for phones
While running graphics tests or everyday apps, we want to see frame rate, CPU frequency, memory and power change right on the phone, and keep a record of the whole run. MonitorHarmony splits this into three paths: collecting data from the system and the target app, publishing state to the main UI and a floating window, and saving the complete session to produce history charts.
~10 min read - HarmonyOSphone testing
How the PC side builds a high-performance environment for HarmonyOS tests and keeps the device awake
Before a test, the PC-side HdcPerfController starts SP_daemon on the device over HDC, opens a high-performance capture session with -lockfreq and manages screen wake: protocol commands, keepalive and stop order, recovery records, plus 16 independent frequency snapshots and a two-hour screen-timeout override measured on the SGU-AL10.
~7 min read - HarmonyOSscheduling
Single-core scheduling on HarmonyOS: making the core selection reach the compute workload
When running single-core tests on HarmonyOS, the core chosen in the UI has to reach the compute thread through the call chain. This article records how QoS, sched_setattr/uclamp and affinity requests are issued and read back, the runtime maintenance and restore strategy of each benchmark, the build configuration, and measured single-core curves of SPEC CPU2017/2026 and Geekbench 6/7 on the SGU-AL10.
~10 min read