Skip to content

Benchmark

Measured on 2026-05-24 with n=50 on the Android 15 emulator Google sdk_gphone64_arm64 (1440x3120, SDK 35), host macOS/aarch64. Numbers are p50 with p95 in parentheses. hs uses one warm daemon socket; adb starts a fresh adb CLI process per sample.

Reproduce the Handsets side with hs bench -n 50 or machine-readable hs bench -n 50 --json. Reproduce raw ADB baselines with scripts/bench-adb.sh -n 50; the script keeps the exact ADB commands inspectable.

The default hs bench suite follows the hot path: 768px JPEG screenshots for agents, with WebP as a lossy export comparison. PNG is intentionally left out of the headline hs suite because Android's PNG encoder is a debug/export path, not an interaction loop path.

Headline Comparisons

Command hs adb Speedup
screenshot size=768 JPEG vs adb exec-out screencap -p PNG 8.02 ms (10.76) 2105.61 ms (2308.38) 263×
screenshot max=1 JPEG vs adb exec-out screencap -p PNG 52.60 ms (71.23) 2105.61 ms (2308.38) 40×
wm_info vs adb shell wm size 1.34 ms (2.29) 45.81 ms (67.83) 34×
state top vs adb shell dumpsys window 2.54 ms (5.09) 71.28 ms (107.80) 28×
ping vs adb shell true 1.61 ms (2.64) 27.65 ms (36.33) 17×

Handsets Warm-Socket Suite

Command p50 p95 bytes
ping 1.61 ms 2.64 ms 4
info 1.64 ms 2.80 ms 9
wm_info 1.34 ms 2.29 ms 81
state top 2.54 ms 5.09 ms 60
wait_for_idle idle_ms=0 timeout_ms=1000 1.49 ms 3.40 ms 15
dump_active 4.58 ms 6.92 ms 5960
dump 6.62 ms 9.58 ms 10317
screenshot size=480 JPEG q80 3.42 ms 6.26 ms 12069
screenshot size=768 JPEG q80 8.02 ms 10.76 ms 22414
screenshot size=1080 JPEG q80 12.33 ms 17.34 ms 34611
screenshot size=1080 q=95 JPEG 11.89 ms 19.83 ms 83811
screenshot max=1 JPEG q80 52.60 ms 71.23 ms 142014
screenshot size=768 q=95 JPEG 6.35 ms 10.34 ms 49390
screenshot size=768 fmt=webp q80 62.26 ms 78.54 ms 12090

Raw ADB Baseline

Command p50 p95 bytes
adb shell true 27.65 ms 36.33 ms 0
adb shell getprop ro.build.version.sdk 31.38 ms 41.57 ms 3
adb shell wm size 45.81 ms 67.83 ms 25
adb shell settings get system screen_brightness 45.33 ms 57.92 ms 4
adb shell dumpsys window 71.28 ms 107.80 ms 87667
adb exec-out screencap -p 2105.61 ms 2308.38 ms 2024218