# Apple Intelligence comparison

This experiment complements, rather than reinterprets, the earlier MLX measurements. Both phones report AFM 3 Core Advanced through SystemLanguageModel.variant, an 8,192-token context and available assets. The OS owns these model assets; the experiment cannot hash their weights or establish an identical proprietary revision.

The research build uses Russet's existing AppleFoundationModelSupport session factory with an explicit on-device route. No Private Cloud Compute model, tool or fallback is selected. Greedy sampling, light reasoning and a 256-token generation ceiling are fixed. A fresh session is made for each request, without asynchronous prewarming. Three complete prompt warmups precede measured requests; this measures warm system-service inference, not a cold asset-load claim.

Three bounded explanation/summarization tasks request about 150 words about privacy, latency and phone performance. The same factual reference paragraph is repeated to approach 256 or 2,048 prompt tokens. The framework's tokenCount API measures prompt text and output; instruction tokens are recorded separately, and hidden framework/control tokens are not reconstructed. Identical prompt text is verified across devices. Four loops of three prompts with a 15-second pause between loops give 12 observations per device per input condition.

Time to first response ends at the first nonempty streamed API snapshot. Total time ends when streaming finishes; both use monotonic system uptime. Output tokenization runs after timing. Visible-output throughput divides retokenized output length by the interval after the first snapshot. This is an application-facing metric with snapshot batching effects, not the instrument's raw generation-token rate. Output can finish before the limit, and retokenization can produce 257 tokens even for a 256-token generation ceiling. Actual counts are retained without clamping.

The original extreme-essay pilot produced textual refusals and is excluded. Refusals are not treated as fast successful answers. Bounded-task pilot results are also excluded from the retained repeated matrix.

The system service can hold memory outside Russet's process. App process footprint is not an AFM memory-usage measurement and is not compared with MLX's in-process footprint. No energy or ANE-utilization percentage is inferred from app timings. Instrumented diagnostic sessions are separate from the unprofiled result matrix; trace overhead cannot contaminate the headline observations.

Retained runs: A19 afm256_b2 and afm2048_b2; A20 afm256_b3 and afm2048_b2. A20 afm256_b2 failed its nominal thermal preflight and contains no retained measurements. The run map preserves this retry. All 24 cross-phone pairs have identical response text. All 24 A19 observations remained nominal; 9 of 12 A20 observations in each input condition touched fair. Actual instruction count is 82; actual prompt counts are 255-256 and 2048-2049.
