LocalMode Bench

One protocol, five browser AI runtimes, real devices.

  • Measures TTFT, decode throughput, and cold vs warm model loads for LLMs and embeddings.
  • Runs the same weights family across WebLLM, wllama, Transformers.js (WebGPU and WASM), LiteRT, and Chrome Built-in AI.
  • Every submission publishes its raw timing trace to the open dataset; every number here is recomputed from those traces.

Leaderboard

81 verified submissions under localmode-bench/5 and localmode-bench/4 (rows never mix versions; the previous protocol stays beside the current one because only the llama.cpp lanes changed) · medians of per-device medians · devices grouped by GPU model where the browser names one, otherwise by platform and WebGPU architecture · rows need 3+ submissions to leave provisional status

ProtocolDevice classModelRuntimeWorkloadTTFTDecode chars/sEmbedLoad cold/warmQualityRuns
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (ONNX, WASM)transformers-wasm (wasm)embed-batch3216/s / 1provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (ONNX, WASM)transformers-wasm (wasm)embed-single202 ms / 2770 ms1provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (ONNX, WASM)transformers-wasm (wasm)quality-sts-100 / 0.9401provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (ONNX, WebGPU)transformers-webgpu (webgpu)embed-batch3212/s / 1provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (ONNX, WebGPU)transformers-webgpu (webgpu)embed-single91 ms / 3262 ms1provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (ONNX, WebGPU)transformers-webgpu (webgpu)quality-sts-100 / 0.6101provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (GGUF Q8_0)wllama (wasm)embed-batch325/s / 1provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (GGUF Q8_0)wllama (wasm)embed-single233 ms / 667 ms1provisional
v5android/adreno-650android/qualcomm-adreno-6xxBGE Small EN (GGUF Q8_0)wllama (wasm)quality-sts-100 / 0.9301provisional
v5android/adreno-650android/qualcomm-adreno-6xxSmolLM2 135M (GGUF Q4_K_M)wllama (wasm)chat-pp128-tg1283636 ms101 / 427 ms1provisional
v5android/adreno-650android/qualcomm-adreno-6xxSmolLM2 135M (GGUF Q4_K_M)wllama (wasm)quality-mmlu-25 / 0.280 (96% parsed)1provisional
v5android/adreno-650android/qualcomm-adreno-6xxUniversal Sentence Encoder (MediaPipe)mediapipe (wasm)embed-batch3233/s / 1provisional
v5android/adreno-650android/qualcomm-adreno-6xxUniversal Sentence Encoder (MediaPipe)mediapipe (wasm)embed-single30 ms267 ms / 1provisional
v5android/adreno-650android/qualcomm-adreno-6xxUniversal Sentence Encoder (MediaPipe)mediapipe (wasm)quality-sts-100 / 0.7801provisional
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (ONNX, WASM)transformers-wasm (wasm)embed-batch3220/s / 3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (ONNX, WASM)transformers-wasm (wasm)embed-single55 ms / 990 ms3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (ONNX, WASM)transformers-wasm (wasm)quality-sts-100 / 0.9402provisional
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (ONNX, WebGPU)transformers-webgpu (webgpu)embed-batch3256/s / 3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (ONNX, WebGPU)transformers-webgpu (webgpu)embed-single26 ms / 1593 ms3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (ONNX, WebGPU)transformers-webgpu (webgpu)quality-sts-100 / 0.9402provisional
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (GGUF Q8_0)wllama (wasm)embed-batch3211/s / 3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (GGUF Q8_0)wllama (wasm)embed-single88 ms / 544 ms3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (GGUF Q8_0)wllama (wasm)quality-sts-100 / 0.9302provisional
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (GGUF WebGPU, Q8_0)wllama-webgpu (webgpu)embed-batch3214/s / 3
v5android/adreno-830android/qualcomm-adreno-8xxBGE Small EN (GGUF WebGPU, Q8_0)wllama-webgpu (webgpu)embed-single70 ms / 375 ms3

Recent submissions

What each device disclosed to the browser. The full capture (WebGPU adapter, WebGL, WebAssembly features, API availability, display, network) is in each run's JSON.

RunSuiteDevice classDeviceGPUBrowserOSCoresMemoryStorage quotaIsolation
ba74812d2026-09-24thoroughmacos/apple-m4-maxmacos/apple-metal-3desktopApple M4 Maxmetal-3Google Chrome 153.0.8010.52BlinkmacOS 26.3.0arm1632 GB+28 GBisolatedWebGPU
750881cd2026-09-24quicklinux/intel-xe-lpgdesktopMesa Intel(R) Arc(tm) Graphics (MTL)xe-lpgGoogle Chrome 144.0.7559.132BlinkLinuxx86228 GB+142 GBisolatedWebGPU
3697ae322026-09-24quicklinux/intel-xe-lpgdesktopMesa Intel(R) Arc(tm) Graphics (MTL)xe-lpgGoogle Chrome 144.0.7559.132BlinkLinuxx86228 GB+142 GBisolatedWebGPU
cdc18adc2026-09-23quickmacos/apple-m4macos/apple-metal-3desktopApple M4metal-3Google Chrome 145.0.7632.159BlinkmacOS 26.3.0arm108 GB+30 GBisolatedWebGPU
76c3b5302026-09-23quickmacos/gpudesktopApple M1, or similarFirefox 156.0GeckomacOS1010 GBisolatedWebGPU
06b717632026-09-23standardmacos/apple-m4-maxmacos/apple-metal-3desktopApple M4 Maxmetal-3Google Chrome 153.0.8010.52BlinkmacOS 26.3.0arm1632 GB+28 GBisolatedWebGPU
731c22202026-09-23quickmacos/apple-appledesktopApple GPUappleSafari 26.5.2WebKitmacOS877 GBisolatedWebGPU
d93b074f2026-09-23quicklinux/no-webgpudesktopIntel(R) HD Graphics, or similarFirefox 150.0GeckoLinux2210 GBisolatedno WebGPU
df30afa62026-09-23quickmacos/apple-m4macos/apple-metal-3desktopApple M4metal-3Google Chrome 145.0.7632.159BlinkmacOS 26.3.0arm108 GB+31 GBisolatedWebGPU
d4d211752026-09-22standardmacos/apple-m1-promacos/apple-metal-3desktopApple M1 Prometal-3Google Chrome 153.0.8010.53BlinkmacOS 26.5.2arm1032 GB+21 GBisolatedWebGPU
074066952026-09-22quicklinux/intel-xe-lpgdesktopMesa Intel(R) Arc(tm) Graphics (MTL)xe-lpgGoogle Chrome 144.0.7559.132BlinkLinuxx86228 GB+142 GBisolatedWebGPU
0905c4732026-09-22quickandroid/adreno-830android/qualcomm-adreno-8xxtabletSM-F966U1Adreno (TM) 830adreno-8xxGoogle Chrome 153.0.8010.52BlinkAndroid 16.0.088 GB+11 GBisolatedWebGPU
4d8a0ec92026-09-22quicklinux/intel-xe-lpgdesktopMesa Intel(R) Arc(tm) Graphics (MTL)xe-lpgGoogle Chrome 144.0.7559.132BlinkLinuxx86228 GB+142 GBisolatedWebGPU
21df50b52026-09-22quickandroid/adreno-830android/qualcomm-adreno-8xxtabletSM-F966U1Adreno (TM) 830adreno-8xxGoogle Chrome 153.0.8010.52BlinkAndroid 16.0.088 GB+11 GBisolatedWebGPU
9d37091d2026-09-22thoroughmacos/apple-m1-promacos/apple-metal-3desktopApple M1 Prometal-3Google Chrome 153.0.8010.53BlinkmacOS 26.5.2arm1032 GB+21 GBisolatedWebGPU
c802047b2026-09-22quickandroid/adreno-650android/qualcomm-adreno-6xxphoneSM-G986U1Adreno (TM) 650adreno-6xxGoogle Chrome 152.0.7977.82BlinkAndroid 13.0.088 GB+10 GBisolatedWebGPU
fe73ef382026-09-22quickandroid/adreno-830android/qualcomm-adreno-8xxtabletSM-F966U1Adreno (TM) 830adreno-8xxGoogle Chrome 153.0.8010.52BlinkAndroid 16.0.088 GB+11 GBisolatedWebGPU
24057b0e2026-09-22quicklinux/intel-xe-lpgdesktopMesa Intel(R) Arc(tm) Graphics (MTL)xe-lpgGoogle Chrome 144.0.7559.132BlinkLinuxx86228 GB+142 GBisolatedWebGPU
4baac9c82026-09-22quickwindows/amd-rdna-2desktopAMD Radeon(TM) Graphicsrdna-2Google Chrome 153.0.8010.53BlinkWindows 19.0.0x861632 GB+26 GBisolatedWebGPU
db5f73862026-09-22thoroughmacos/apple-m4macos/apple-metal-3desktopApple M4metal-3Google Chrome 145.0.7632.159BlinkmacOS 26.3.0arm108 GB+53 GBisolatedWebGPU
a66fedcd2026-09-22thoroughmacos/apple-m1-promacos/apple-metal-3desktopApple M1 Prometal-3Google Chrome 153.0.8010.53BlinkmacOS 26.5.2arm1032 GB+21 GBisolatedWebGPU
cad218a52026-09-22thoroughmacos/apple-m4macos/apple-metal-3desktopApple M4metal-3Google Chrome 145.0.7632.159BlinkmacOS 26.3.0arm108 GB+53 GBisolatedWebGPU
c13abcb62026-09-22thoroughwindows/amd-rdna-2desktopAMD Radeon(TM) Graphicsrdna-2Google Chrome 153.0.8010.53BlinkWindows 19.0.0x861632 GB+26 GBisolatedWebGPU
eafe01a62026-09-22thoroughmacos/apple-m1-promacos/apple-metal-3desktopApple M1 Prometal-3Google Chrome 153.0.8010.53BlinkmacOS 26.5.2arm1032 GB+21 GBisolatedWebGPU
80cb10f82026-09-22thoroughmacos/apple-m4macos/apple-metal-3desktopApple M4metal-3Google Chrome 145.0.7632.159BlinkmacOS 26.3.0arm108 GB+52 GBisolatedWebGPU