Skip to main content
Version: Next

Benchmarks

Every model variant in the React Native ExecuTorch registry is measured directly on physical iOS and Android hardware. We profile the complete end-to-end pipeline—from camera frames, audio, and text through pre-processing, forward inference on mobile silicon, and post-processing—alongside isolated ExecuTorch runtime latency, peak RAM, cold-start load times, and binary download sizes.

Backends and Precision​

Each variant is defined by two choices:

  • Backend (Where it runs): The hardware execution engine. XNNPACK runs on mobile CPUs for universal compatibility across iOS and Android; Core ML targets the Apple Neural Engine (NPU) and GPU on iOS; Vulkan runs on Android GPUs; and MLX uses Apple Silicon unified memory. To configure which backends are compiled into your app, see Native Libraries.
  • Precision (How weights are stored): The numerical format of model weights. Full precision (fp32) preserves original fidelity at the cost of larger downloads and RAM. Quantized formats (fp16, int8, 4-bit) compress weights, drastically cutting file size and memory while speeding up compute with minimal impact on real-world accuracy. See Exporting Custom Models for lowering details.

Explore the charts below to compare backends and find the optimal balance for your app.

Devices​

Measurements were collected on physical iOS and Android devices spanning flagship, modern mid-tier, and legacy hardware tiers. All numbers come from release builds of React Native ExecuTorch 0.11.0-dev (main shortly after v0.10.0), measured in September 2026.

DeviceBackends testedVariantsNotes
Samsung Galaxy S26 UltraXNNPACK (123), Vulkan (24)147Flagship Android test device (Snapdragon SM8850); covers all standard tasks and 23 LLM variants
Google Pixel 10XNNPACK (100), Vulkan (24)124Modern Android device featuring Google Tensor G5
Samsung Galaxy S20+XNNPACK (100), Vulkan (24)124Baseline Android device (Exynos 990) representing older generation hardware
iPhone 17XNNPACK (100), Core ML (75), MLX (15)190Flagship iOS reference device (A19) testing XNNPACK, Core ML, and MLX execution
iPhone SE (3rd gen)XNNPACK (99), Core ML (73), MLX (15)187Compact iOS hardware (A15 Bionic) with 4 GB RAM to test performance and memory bounds

Results​

Performance and Precision Trade-offs

These benchmarks measure execution latency, memory utilization, and initialization times. Quantized models (such as int8 or 8da4w) significantly reduce memory footprint and download size while accelerating inference, but should always be evaluated for task accuracy on your specific application datasets. Run-to-run variations on physical mobile devices are common due to background system tasks and dynamic thermal management.

Image Classification​

Input & Pipeline Details
  • Input: 512x512 RGBA frame (synthetic test image: vertical color gradient with three solid ellipses).
  • Pipeline Structure: The preprocessor resizes the raw image buffer to the model's input dimensions [1, 3, H, W] (using stretch mode for EfficientNet-V2-S), converts format layout to channels-first [3, H, W], and normalizes pixel values. Post-processing applies softmax over output logits, maps confidence scores to ImageNet-1K class labels, and sorts the predictions by confidence.
0.0 ms100 ms200 ms300 ms82.5fp3253.3int8S26 Ultra232fp32139int8Pixel 10286fp32188int8S20+69fp3236.1int84.5fp16iPhone 17162fp3254.1int85.6fp16iPhone SE 3

Object Detection​

Input & Pipeline Details
  • Input: 640x640 RGBA frame (vertical color gradient with three solid ellipses).
  • Pipeline Structure: Preprocessing resizes or letterboxes the input frame into the model's expected dimensions [1, 3, H, W] (ranging from 320x320 for SSDLite to 384x384, 512x512, or 640x640 across YOLO26 and RF-DETR variants). The model outputs candidate bounding boxes [N, 4], confidence scores [N], and class indices [N]. Post-processing executes Non-Maximum Suppression (NMS) to eliminate overlapping detections, maps class indices to COCO labels, and decodes and scales bounding boxes back to the original image dimensions.
0.0 ms200 ms400 ms600 ms160fp32S26 Ultra437fp32Pixel 10564fp32S20+172fp328.3fp16iPhone 17399fp3214fp16iPhone SE 3

Instance Segmentation​

Input & Pipeline Details
  • Input: 640x640 RGBA frame.
  • Pipeline Structure: Preprocessing resizes the input buffer to the model's input shape [1, 3, H, W] (ranging from 384x384 to 640x640 across FastSAM, YOLO26, and RF-DETR variants). The model outputs candidate boxes [N, 4], confidence scores [N], class indices [N], and prototype mask logits [N, MH, MW]. Post-processing runs NMS on boxes, then for each surviving detection: scales the box to image coordinates, resizes the instance mask to original dimensions, thresholds mask logits, crops to the bounding box, and generates a grayscale mask buffer.
0.0 ms200 ms400 ms600 ms800 ms133fp32S26 Ultra411fp32Pixel 10598fp32S20+169fp329.7fp16iPhone 17641fp3215.3fp16iPhone SE 3

Semantic Segmentation​

Input & Pipeline Details
  • Input: 512x512 RGBA frame.
  • Pipeline Structure: Preprocessing resizes and normalizes the image to the model input dimensions [1, 3, H, W]. The model outputs class logits [1, K, H, W] (or [1, 1, H, W] for single-class/selfie models). For multi-class models, post-processing performs an argmax across class channels, applies a color palette (applyColormap) to create an RGBA mask buffer, and resizes the colored mask to original input dimensions. For single-class models, it applies sigmoid and grayscale mapping.
0.0 ms200 ms400 ms600 ms90.5fp3240.6int8S26 Ultra253fp32144int8Pixel 10510fp32224int8S20+91.7fp3232.5int831fp16iPhone 17271fp3278.1int850.3fp16iPhone SE 3

Pose & Keypoints​

Input & Pipeline Details
  • Input: 512x512 RGBA frame.
  • Pipeline Structure: Preprocessing resizes and normalizes the image buffer to [1, 3, H, W]. The model directly outputs candidate bounding boxes [N, 4], confidence scores [N], and landmark coordinates [N, K, 3] (17 body keypoints for YOLO/RF-DETR or 6 facial landmarks for BlazeFace, with x, y, confidence per point). Post-processing executes weighted Non-Maximum Suppression (NMS) to cluster overlapping candidates, computes confidence-weighted averages for both box and landmark coordinates, and scales them back to original image dimensions.
0.0 ms10 ms20 ms30 ms9.4fp32S26 Ultra12.7fp32Pixel 1027.2fp32S20+6.7fp32iPhone 177.4fp32iPhone SE 3

Style Transfer​

Input & Pipeline Details
  • Input: 512x512 RGBA frame.
  • Pipeline Structure: Preprocessing resizes the input buffer to the model's fixed input dimensions [3, H, W] and normalizes it. The feedforward style network outputs stylized feature maps [3, H, W]. Post-processing denormalizes values, converts RGB to RGBA, and resizes the styled image back to the original canvas dimensions.
  • Memory Footprint: Feedforward style networks maintain full spatial resolution across internal feature representations without heavy pooling, which produces massive intermediate activation tensors. Peak memory routinely exceeds 1.1 GB despite tiny weight files (~2 MB).
0.0 ms500 ms1,000 ms1,500 ms2,000 ms840fp32366int8S26 Ultra1,807fp32723int8Pixel 101,814fp32805int8S20+748fp32349int863.1fp16iPhone 171,931fp32646int8182fp16iPhone SE 3

Image Embeddings​

Input & Pipeline Details
  • Input: 512x512 RGBA frame.
  • Pipeline Structure: Powered by CLIP ViT-B/32, preprocessing resizes and normalizes the input image buffer to 224x224 ([1, 3, 224, 224]). The model outputs a 512-dimensional embedding vector [1, 512]. Post-processing reads the raw float32 tensor data directly into a Float32Array with virtually zero compute overhead, meaning total pipeline time is dominated almost entirely by model execution and image preprocessing.
0.0 ms100 ms200 ms300 ms25.6fp3217.3fp16S26 Ultra96.6fp3265fp16Pixel 10113fp32240fp16S20+38.2fp323.2fp1610.2int8iPhone 1782fp326.1fp1624.9int8iPhone SE 3

OCR​

Input & Pipeline Details
  • Input: 640x640 RGBA frame.
  • Pipeline Structure: Powered by PP-OCRv6 inside a single fused model with two execution methods. First, DBNet text detection (forward_detect) letterboxes the 640x640 frame and detects oriented quadrilaterals (Quad with 4 corner points). The detected quads are sorted into reading order. Second, each quad is rectified to the text recognizer canvas and evaluated by SVTR (forward_recognize), followed by greedy CTC decoding to text strings.
  • Mixed Precision: The model uses mixed precision: an int8 DBNet detector paired with an fp32 SVTR recognizer (kept in fp32 because int8 quantization degrades accuracy on the SVTR attention stack).
0.0 ms200 ms400 ms600 ms237fp32185default38.9defaultS26 Ultra469fp32405default124defaultPixel 10546fp32424default374defaultS20+117fp32107default6.7defaultiPhone 17197fp32166default9.6defaultiPhone SE 3

Text to Image​

Input & Pipeline Details
  • Input: Prompt (a small wooden sailboat on a calm lake at sunrise), fixed random seed.
  • Pipeline Structure: Powered by SDXS-512-DreamShaper, a distilled single-step latent diffusion model with no iterative denoising loop and no classifier-free guidance. First, a CLIP text encoder (encode) transforms 77 token IDs into text conditioning [1, 77, 768]. Next, a single UNet forward pass (denoise) updates initial Gaussian noise latents at timestep 999. Finally, a TAESD tiny decoder (decode) reconstructs the 4-channel latents [1, 4, 64, 64] into a full 512x512 RGBA image.
0.0 ms2,000 ms4,000 ms6,000 ms8,000 ms1,155fp32S26 Ultra5,066fp32Pixel 107,567fp32S20+2,745fp32109fp16iPhone 17not measurediPhone SE 3

Text Embeddings​

Input & Pipeline Details
  • Input: Fixed 4-sentence English paragraph (~80 words).
  • Pipeline Structure: The tokenizer converts input text into int64 token IDs and an attention mask [1, sequence_length], truncated only if exceeding the model's maximum sequence length. Sequence pooling and normalization are baked directly into the exported .pte model graph, which outputs the final embedding vector [1, D] (or [D]). Post-processing reads the raw embedding vector with negligible overhead.
0.0 ms20 ms40 ms60 ms6.7fp323.8fp16S26 Ultra13.8fp3216.8fp16Pixel 1022.3fp3256fp16S20+8.7fp321.3fp16iPhone 1714.5fp321.9fp16iPhone SE 3

Privacy Filter​

Input & Pipeline Details
  • Input: Fixed 3-sentence paragraph containing sample PII entities (name, email, phone number, address, and account number).
  • Pipeline Structure: The tokenizer converts input text into subword token IDs and an attention mask. The model evaluates token-level classification logits over a BIOES label space (B-, I-, O, E-, S-). Post-processing parses the BIOES grammar and detects structured entity spans (PiiEntity with entity type label, character start/end offsets, text, and confidence). Inputs exceeding the model window are evaluated via 50% overlapping sliding windows.
0.0 ms500 ms1,000 ms1,500 ms2528da4wS26 Ultra5458da4wPixel 101,0178da4wS20+4968da4w169int8iPhone 175858da4wiPhone SE 3

LLM Chat & Text Generation​

Input & Pipeline Details
  • Input: Prompt (List three uses for a paperclip.), 64 tokens decoded with EOS ignored, temperature 0 (greedy decoding).
  • Prefill vs. Decode & Memory: The short prompt isolates autoregressive token generation throughput (tokens/second) and time to first token (TTFT). Autoregressive decoding executes one forward pass per generated token. Peak memory is driven by model weights and allocated key-value (KV) cache buffers, with models larger than 2 GB peaking between 2.4 and 3.5 GB of resident RAM.
0.00 tok/s2.00 tok/s4.00 tok/s6.00 tok/s4.608da4wS26 Ultranot measuredPixel 10not measuredS20+not measurediPhone 17not measurediPhone SE 3

Speech to Text​

Input & Pipeline Details
  • Input: 10 seconds of mono audio sampled at 16 kHz.
  • Pipeline Structure: The Whisper model's encode method ingests the raw 1D Float32 audio waveform directly, internally computing log-mel spectrogram features and encoder representations. Autoregressive decoding (decode) runs token by token to generate transcript text.
  • Synthetic Input Note: The benchmark uses synthetic, voice-shaped audio rather than meaningful human speech. Because the recognizer transcribes no semantic content, Whisper emits minimal tokens, meaning decoder iterations are low and benchmark numbers are dominated by the encoder. Expect higher latency on real audio with continuous speech.
0.0 ms1,000 ms2,000 ms3,000 ms401fp32206fp16178int8S26 Ultra1,711fp32619fp16565int8Pixel 102,133fp321,526fp161,471int8S20+905fp32102fp16168int8189bf16iPhone 172,923fp32287fp16938int8903bf16iPhone SE 3

Text to Speech​

Input & Pipeline Details
  • Input: Fixed 2-sentence English paragraph.
  • Pipeline Structure: Covers multi-stage neural TTS architectures:
    • Kokoro: Text is normalized, phonemized via espeak-ng, and synthesized into 24 kHz audio through two sub-models (duration predictor and acoustic synthesizer conditioned on reference voice embeddings).
    • Supertonic: Text is cleaned, unicode-indexed, and synthesized into 44.1 kHz audio across four sub-models (text encoder, duration predictor, flow-matching vector estimator denoising steps, and vocoder).
  • Latency Scaling: Synthesis latency scales with input text length and generated audio duration.
0.0 ms2,000 ms4,000 ms6,000 ms8,000 ms1,845fp32S26 Ultra6,081fp32Pixel 106,353fp32S20+3,605fp321,585fp32iPhone 177,732fp321,405fp32iPhone SE 3

Voice Activity Detection​

Input & Pipeline Details
  • Input: 10 seconds of mono audio sampled at 16 kHz.
  • Pipeline Structure: Native JSI extractFrames slices the 1D audio waveform into 25 ms overlapping frames with a 10 ms hop length, applying per-frame mean removal, pre-emphasis filtering (0.97), and a periodic Hann window. The FSMN-VAD model processes the framed representations to compute per-frame speech probabilities. Post-processing applies thresholding with hysteresis, segment padding, and silence merging to output speech intervals [start, end] in seconds.
0.0 ms10 ms20 ms30 ms8.9fp32S26 Ultra20.7fp32Pixel 1025.3fp32S20+9.2fp32iPhone 1713.8fp32iPhone SE 3