add mobench support to ProveKit main#450
Conversation
Latest mobile benchmark numbersReposted from #429 comment #429 (comment). Source: Mobile Bench PR Auto run 26368378239 on iOS
Android
Memory growth is the benchmark-reported peak growth above baseline; process peak is the reported process RSS peak. |
CSP benchmarks
Prover time, peak RSS, peak heap, and verifier time are arithmetic means across the iterations. Peak heap comes from the largest No baseline available yet — deltas will appear once this workflow has produced at least one successful Results
|
Mobench Benchmark ResultsIOS — iPhone 14 (iOS unknown)
2 iterations · 1 warmup · avg is primary metric IOS — iPhone 16 Pro Max (iOS unknown)
2 iterations · 1 warmup · avg is primary metric Note: memory growth excludes warmup/baseline retained before the measured iteration. IOS — iPhone SE 2022 (iOS unknown)
2 iterations · 1 warmup · avg is primary metric IOS — iPhone 14 (iOS unknown)
2 iterations · 1 warmup · avg is primary metric IOS — iPhone 16 Pro Max (iOS unknown)
2 iterations · 1 warmup · avg is primary metric Note: memory growth excludes warmup/baseline retained before the measured iteration. IOS — iPhone SE 2022 (iOS unknown)
2 iterations · 1 warmup · avg is primary metric IOS — iPhone 14 (iOS unknown)
2 iterations · 1 warmup · avg is primary metric IOS — iPhone 16 Pro Max (iOS unknown)
2 iterations · 1 warmup · avg is primary metric Note: memory growth excludes warmup/baseline retained before the measured iteration. IOS — iPhone SE 2022 (iOS unknown)
2 iterations · 1 warmup · avg is primary metric Ios Sina PlotANDROID — Google Pixel 7 (Android unknown)
2 iterations · 1 warmup · avg is primary metric ANDROID — Samsung Galaxy M32 (Android unknown)
2 iterations · 1 warmup · avg is primary metric ANDROID — Samsung Galaxy S24 (Android unknown)
2 iterations · 1 warmup · avg is primary metric Note: memory growth excludes warmup/baseline retained before the measured iteration. ANDROID — Google Pixel 7 (Android unknown)
1 iterations · 0 warmup · avg is primary metric ANDROID — Samsung Galaxy S24 (Android unknown)
2 iterations · 1 warmup · avg is primary metric Note: memory growth excludes warmup/baseline retained before the measured iteration. ANDROID — Google Pixel 7 (Android unknown)
2 iterations · 1 warmup · avg is primary metric ANDROID — Samsung Galaxy M32 (Android unknown)
1 iterations · 0 warmup · avg is primary metric ANDROID — Samsung Galaxy S24 (Android unknown)
2 iterations · 1 warmup · avg is primary metric Note: memory growth excludes warmup/baseline retained before the measured iteration. ANDROID — Samsung Galaxy M32 (Android unknown)
1 iterations · 0 warmup · avg is primary metric Android Sina PlotPosted by mobench at 2026-06-12 01:09 UTC |
Reopened from #429 using the new
dcbuilder/*branch naming.Old PR: #429
Replacement branch:
dcbuilder/pr429-main-mobench-fixturesOld head branch:
dcbuild3r/main-mobench-fixturesHead SHA:
e14fa60beadc25bf1e7d238c9bdbf8f6237fa9f2Previous PR CI / benchmark runs from #429:
Summary
provespanAndroid mobench fix note
The previous failing run was https://github.com/worldfnd/provekit/actions/runs/26007468825. The missing Vivo Y21 monolithic cell did not recover a BrowserStack session payload or
summary.json; available artifacts only show the BrowserStack fetch timeout after 7200s for buildc943753d95fd0b34f5775aa0a3bc6ff58cbcc3ca.Before/failure memory from that run:
What changed:
profile_phase("prove")wraps only the prover entry point. Previouslyprepared.clone()ran insideprofile_phase("prove"), so clone cost and peak memory were charged to proving.failure.jsonnow records attempts, fetch timeout seconds, build id, and any LMK/OOM/SIGKILL lines recovered from attempt/device logs.Latest benchmark numbers were reposted as a PR comment from #429.
Validation
cargo fmt --allcargo test -p bench-mobile --libcargo test -p bench-mobile --test examples_smokecargo test -p bench-mobile --test passport_smokecargo check -p provekit-ffi --target aarch64-linux-androidwith NDK 26.1aarch64-linux-android34-clangruby -e 'require "yaml"; YAML.load_file(".github/workflows/mobile-bench-reusable.yml")'git diff --check