Offline Summarizer: benchmark notes Device: Samsung Galaxy S22 Ultra (SM-S908E), Snapdragon 8 Gen 1, 12 GB RAM, Android 16 (API 36). Model: Qwen2.5-0.5B-Instruct, Q4_K_M GGUF (~469 MB). Setup: llama.cpp on CPU, 4 threads, KleidiAI and OpenMP enabled, 2,048-token context, 192-token output limit. Runs: each passage was run 4 times: 1 initial run, then 3 warm runs with the model already loaded. CSV columns: - reported_prompt_tokens: token count of the input, measured before generation. - reported_output_chunks: number of text chunks the app received. Usually one per token, but not always. - generation_interval_ms: time from the start of generation until it finished. Includes the wait for first output. Excludes model loading. - first_output_ms: time from the start of generation until the first text appeared. - reported_tokens_per_second: (chunks - 1) / seconds after the first chunk. An app-level estimate, not a llama-bench number. Warm-run medians (9 runs): 3,834 ms to first output, 7,756 ms generation, 38.2 tokens/s. Model load: 1,768 ms on first load, 1,656 ms after an app restart. Caveats: - Sampling settings were inconsistent between the native code (temperature 0.3) and the test notes (greedy). - The demo screen recording ran slower (5,473 ms first output, 10,966 ms generation) and is not in the CSV. - Phone temperature and background activity were not controlled. - Not measured: GPU/NPU inference, peak memory, battery use, or sustained thermal behavior. - Quality issues seen: a planned task summarized as completed, unrelated facts merged, specs omitted, repetition, and wrong bullet counts.