Unescape HTML leaderboards

Top 20 submissions by each measure. Only submissions that passed the compliance suite are ranked. Each person can hold up to 3 places per board, or 5 on Fastest benchmark, so different techniques and languages can rank side by side; resubmitting the same Wasm counts once.

Showing only submissions that earned “32 KiB Wasm or less”. Select it again to show everyone.

Size against speed

Gzipped Wasm size against median benchmark time, coloured by the AI models each submitter declared.

8.7 KiB 19.5 KiB 10 ms 100 ms Gzipped Wasm size Median benchmark time patrickgwsmith · C · 14.8 KiB gzipped · 1.8 ms · Fable 5.2 patrickgwsmith · Zig · 9 KiB gzipped · 1.8 ms · Fable 5.2 patrickgwsmith · Rust · 9.1 KiB gzipped · 1.8 ms · Fable 5.2 patrickgwsmith · C++ · 14.7 KiB gzipped · 1.9 ms · Fable 5.2 patrickgwsmith · Zig · 14.7 KiB gzipped · 1.9 ms · Fable 5.2 patrickgwsmith · C · 8.9 KiB gzipped · 1.9 ms · Fable 5.2 patrickgwsmith · Odin · 14.9 KiB gzipped · 2.1 ms · Fable 5.2 patrickgwsmith · Odin · 9.3 KiB gzipped · 2.1 ms · Fable 5.2 patrickgwsmith · Rust · 14.8 KiB gzipped · 2.2 ms · Fable 5.2 patrickgwsmith · C · 9.2 KiB gzipped · 2.4 ms · Fable 5.2 patrickgwsmith · C · 10.2 KiB gzipped · 2.5 ms · Opus 5.5 patrickgwsmith · Zig · 10.2 KiB gzipped · 2.7 ms · Opus 5.5 patrickgwsmith · Odin · 10.3 KiB gzipped · 2.7 ms · Opus 5.5 patrickgwsmith · Rust · 10.2 KiB gzipped · 2.8 ms · Opus 5.5 patrickgwsmith · Zig · 15.2 KiB gzipped · 3 ms · Opus 5.5 patrickgwsmith · C · 15.2 KiB gzipped · 3.1 ms · Opus 5.5 patrickgwsmith · Odin · 14 KiB gzipped · 3.3 ms · Opus 5.5 patrickgwsmith · Odin · 18.5 KiB gzipped · 8.9 ms · qwen3.8-27b:8bit patrickgwsmith · Zig · 13.6 KiB gzipped · 10 ms · Opus 5.5 patrickgwsmith · C · 13.6 KiB gzipped · 12 ms · Opus 5.5 patrickgwsmith · Rust · 18.5 KiB gzipped · 14 ms · qwen3.8-27b:8bit patrickgwsmith · Odin · 18.7 KiB gzipped · 17 ms · Opus 5.5 patrickgwsmith · Rust · 14 KiB gzipped · 18 ms · Opus 5.5 patrickgwsmith · C · 18.9 KiB gzipped · 20 ms · qwen3.8-27b:8bit patrickgwsmith · C · 15.2 KiB gzipped · 23 ms · GPT-6 patrickgwsmith · Odin · 15.3 KiB gzipped · 25 ms · qwen3.8-27b:8bit patrickgwsmith · C · 14.9 KiB gzipped · 26 ms · qwen3.8-27b:8bit patrickgwsmith · Zig · 15 KiB gzipped · 34 ms · qwen3.8-27b:8bit patrickgwsmith · C++ · 15.1 KiB gzipped · 35 ms · qwen3.8-27b:8bit patrickgwsmith · C · 16.8 KiB gzipped · 38 ms · qwen3.8-27b:8bit patrickgwsmith · Rust · 15.7 KiB gzipped · 42 ms · qwen3.8-27b:8bit patrickgwsmith · Nim · 15.1 KiB gzipped · 42 ms · qwen3.8-27b:8bit patrickgwsmith · C · 11.1 KiB gzipped · 167 ms · Opus 5.5 patrickgwsmith · C · 10.3 KiB gzipped · 180 ms · Opus 5.5 patrickgwsmith · Odin · 10.5 KiB gzipped · 319 ms · Opus 5.5 patrickgwsmith · Rust · 10.3 KiB gzipped · 326 ms · Opus 5.5 patrickgwsmith · Zig · 10.2 KiB gzipped · 383 ms · Opus 5.5 patrickgwsmith · C · 15.2 KiB gzipped · 3.2 ms · gpt-6.1-sol patrickgwsmith · Zig · 13.7 KiB gzipped · 9 ms · gpt-6.1-sol
gpt-6.1-sol: 2 of 39. 39 passing submissions, each distinct Wasm once, on log scales. Lower left is smaller and faster; the dashed line joins those nothing else beats on both, labelled with language and AI model.

Times 25 of these in your browser, one at a time.

Speed, smallest first

Every benchmarked submission in order of gzipped Wasm size, to see whether getting smaller costs speed.

0 100 ms 200 ms 300 ms 400 ms 882dd447 · patrickgwsmith · C · Fable 5.2 · 8.9 KiB gzipped · 1.9 ms 882dd447 · 8.9 KiB 8aa42ef2 · patrickgwsmith · Zig · Fable 5.2 · 9 KiB gzipped · 1.8 ms 8aa42ef2 · 9 KiB 07ba22da · patrickgwsmith · Rust · Fable 5.2 · 9.1 KiB gzipped · 1.8 ms 07ba22da · 9.1 KiB 9a9241d3 · patrickgwsmith · C · Fable 5.2 · 9.2 KiB gzipped · 2.4 ms 9a9241d3 · 9.2 KiB 6abdb35d · patrickgwsmith · Odin · Fable 5.2 · 9.3 KiB gzipped · 2.1 ms 6abdb35d · 9.3 KiB 4a6e243a · patrickgwsmith · C · Opus 5.5 · 10.2 KiB gzipped · 2.5 ms 4a6e243a · 10.2 KiB 41a23ff2 · patrickgwsmith · Zig · Opus 5.5 · 10.2 KiB gzipped · 2.7 ms 41a23ff2 · 10.2 KiB 16412f6a · patrickgwsmith · Zig · Opus 5.5 · 10.2 KiB gzipped · 383 ms 16412f6a · 10.2 KiB 21b19f5e · patrickgwsmith · Rust · Opus 5.5 · 10.2 KiB gzipped · 2.8 ms 21b19f5e · 10.2 KiB 110719b7 · patrickgwsmith · Rust · Opus 5.5 · 10.3 KiB gzipped · 326 ms 110719b7 · 10.3 KiB c67deddc · patrickgwsmith · Odin · Opus 5.5 · 10.3 KiB gzipped · 2.7 ms c67deddc · 10.3 KiB ba59db43 · patrickgwsmith · C · Opus 5.5 · 10.3 KiB gzipped · 180 ms ba59db43 · 10.3 KiB afca011f · patrickgwsmith · Odin · Opus 5.5 · 10.5 KiB gzipped · 319 ms afca011f · 10.5 KiB 68ad031d · patrickgwsmith · C · Opus 5.5 · 11.1 KiB gzipped · 167 ms 68ad031d · 11.1 KiB c8f5ef2c · patrickgwsmith · C · Opus 5.5 · 13.6 KiB gzipped · 12 ms c8f5ef2c · 13.6 KiB 9a29dd86 · patrickgwsmith · Zig · Opus 5.5 · 13.6 KiB gzipped · 10 ms 9a29dd86 · 13.6 KiB 1749407f · patrickgwsmith · Zig · gpt-6.1-sol · 13.7 KiB gzipped · 9 ms 1749407f · 13.7 KiB a7f4b2e2 · patrickgwsmith · Rust · Opus 5.5 · 14 KiB gzipped · 18 ms a7f4b2e2 · 14 KiB fe7649cd · patrickgwsmith · Odin · Opus 5.5 · 14 KiB gzipped · 3.3 ms fe7649cd · 14 KiB 5a668e04 · patrickgwsmith · Zig · Fable 5.2 · 14.7 KiB gzipped · 1.9 ms 5a668e04 · 14.7 KiB 2721b6a4 · patrickgwsmith · C++ · Fable 5.2 · 14.7 KiB gzipped · 1.9 ms 2721b6a4 · 14.7 KiB 602d41f6 · patrickgwsmith · Rust · Fable 5.2 · 14.8 KiB gzipped · 2.2 ms 602d41f6 · 14.8 KiB 5fe83c0b · patrickgwsmith · C · Fable 5.2 · 14.8 KiB gzipped · 1.8 ms 5fe83c0b · 14.8 KiB cbd4dbad · patrickgwsmith · Odin · Fable 5.2 · 14.9 KiB gzipped · 2.1 ms cbd4dbad · 14.9 KiB fa176a59 · patrickgwsmith · C · qwen3.8-27b:8bit · 14.9 KiB gzipped · 26 ms fa176a59 · 14.9 KiB bf16d62f · patrickgwsmith · Zig · qwen3.8-27b:8bit · 15 KiB gzipped · 34 ms bf16d62f · 15 KiB 66290d95 · patrickgwsmith · C++ · qwen3.8-27b:8bit · 15.1 KiB gzipped · 35 ms 66290d95 · 15.1 KiB 3fb3d6e2 · patrickgwsmith · Nim · qwen3.8-27b:8bit · 15.1 KiB gzipped · 42 ms 3fb3d6e2 · 15.1 KiB e9ed850e · patrickgwsmith · C · GPT-6 · 15.2 KiB gzipped · 23 ms e9ed850e · 15.2 KiB 9d77f71a · patrickgwsmith · C · Opus 5.5 · 15.2 KiB gzipped · 3.1 ms 9d77f71a · 15.2 KiB 5d0e209f · patrickgwsmith · C · gpt-6.1-sol · 15.2 KiB gzipped · 3.2 ms 5d0e209f · 15.2 KiB e4026c87 · patrickgwsmith · Zig · Opus 5.5 · 15.2 KiB gzipped · 3 ms e4026c87 · 15.2 KiB 46e09ca2 · patrickgwsmith · Odin · qwen3.8-27b:8bit · 15.3 KiB gzipped · 25 ms 46e09ca2 · 15.3 KiB 2d2da683 · patrickgwsmith · Rust · qwen3.8-27b:8bit · 15.7 KiB gzipped · 42 ms 2d2da683 · 15.7 KiB 65ebd29b · patrickgwsmith · C · qwen3.8-27b:8bit · 16.8 KiB gzipped · 38 ms 65ebd29b · 16.8 KiB 4e41cc72 · patrickgwsmith · Odin · qwen3.8-27b:8bit · 18.5 KiB gzipped · 8.9 ms 4e41cc72 · 18.5 KiB fdf57de0 · patrickgwsmith · Rust · qwen3.8-27b:8bit · 18.5 KiB gzipped · 14 ms fdf57de0 · 18.5 KiB 7778b362 · patrickgwsmith · Odin · Opus 5.5 · 18.7 KiB gzipped · 17 ms 7778b362 · 18.7 KiB 697fb2f5 · patrickgwsmith · C · qwen3.8-27b:8bit · 18.9 KiB gzipped · 20 ms 697fb2f5 · 18.9 KiB Median benchmark time
39 passing submissions, smallest gzipped Wasm on the left, bar height the median benchmark time from zero. The 3 solid bars are each faster than everything smaller; muted bars have a smaller, faster submission to their left.

Times 39 of these in your browser, one at a time.

Do the machines agree?

The machines disagree on which is fastest

  • Server
  • Server on the runner corpus
  • Chrome (visitors)
  • Safari (visitors)
Time relative to the fastest submission (1×), on a log scale; further right is slower. Each machine's times are scaled for its overall speed so they line up. Hollow dots are visitors' browsers, which don't affect rankings.

By language

Fastest by language

Each language's fastest submission by median benchmark time, with its gzipped size and whether it uses SIMD.

  1. CSIMD 1.8 ms 14.8 KiB gzipped
  2. ZigSIMD 1.8 ms 9 KiB gzipped
  3. RustSIMD 1.8 ms 9.1 KiB gzipped
  4. C++SIMD 1.9 ms 14.7 KiB gzipped
  5. OdinSIMD 2.1 ms 14.9 KiB gzipped
  6. Nim 42 ms 15.1 KiB gzipped

Smallest download by language

Each language's smallest gzipped Wasm, which sets download time, with its median benchmark time. Open a language to see its next smallest submissions.

  1. C 8.9 KiB 1.9 ms
    1. 1. patrickgwsmith 8.9 KiB 1.9 ms
    2. 2. patrickgwsmith 9.2 KiB 2.4 ms
    3. 3. patrickgwsmith 10.2 KiB 2.5 ms
    4. 4. patrickgwsmith 10.3 KiB 180 ms
    5. 5. patrickgwsmith 11.1 KiB 167 ms
    6. 6. patrickgwsmith 13.6 KiB 12 ms
  2. Zig 9 KiB 1.8 ms
    1. 1. patrickgwsmith 9 KiB 1.8 ms
    2. 2. patrickgwsmith 10.2 KiB 2.7 ms
    3. 3. patrickgwsmith 10.2 KiB 383 ms
    4. 4. patrickgwsmith 13.6 KiB 10 ms
    5. 5. patrickgwsmith 13.7 KiB 9 ms
    6. 6. patrickgwsmith 14.7 KiB 1.9 ms
  3. Rust 9.1 KiB 1.8 ms
    1. 1. patrickgwsmith 9.1 KiB 1.8 ms
    2. 2. patrickgwsmith 10.2 KiB 2.8 ms
    3. 3. patrickgwsmith 10.3 KiB 326 ms
    4. 4. patrickgwsmith 14 KiB 18 ms
    5. 5. patrickgwsmith 14.8 KiB 2.2 ms
    6. 6. patrickgwsmith 15.7 KiB 42 ms
  4. Odin 9.3 KiB 2.1 ms
    1. 1. patrickgwsmith 9.3 KiB 2.1 ms
    2. 2. patrickgwsmith 10.3 KiB 2.7 ms
    3. 3. patrickgwsmith 10.5 KiB 319 ms
    4. 4. patrickgwsmith 14 KiB 3.3 ms
    5. 5. patrickgwsmith 14.9 KiB 2.1 ms
    6. 6. patrickgwsmith 15.3 KiB 25 ms
  5. C++ 14.7 KiB 1.9 ms
    1. 1. patrickgwsmith 14.7 KiB 1.9 ms
    2. 2. patrickgwsmith 15.1 KiB 35 ms
  6. Nim 15.1 KiB 42 ms

Fastest benchmark

Time to render the whole shuffled corpus once after warmup, timed in loops inside Wasm, with input copies subtracted. The server, browsers and other machines run the same harnessed Wasm the same way. Excludes setup and output validation. The corpus is generated (3291 generated inputs, 1.88 MiB in all, up to 71.9 KiB each): labels, prose, escaped HTML, URLs and dense references, with every size band counting for a similar share of the time. It is separate from the compliance suite and no input or output is larger than the suite's largest. The server ranks on its own corpus, which never leaves it; browsers run a public one and benchmark runners a third, all from the same generator with different seeds. They are rotated from time to time, so tune for the kind of input, not the cases.

  1. 1.
    patrickgwsmith
    Language
    C SIMD
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Fable 5.2
    1.76 ms · 1120 MB/s
  2. 2.
    patrickgwsmith
    Language
    Zig SIMD
    Compiler
    zig 0.15.2 + Binaryen wasm-opt 130
    AI
    Fable 5.2
    1.8 ms · 1092 MB/s
  3. 3.
    patrickgwsmith
    Language
    Rust SIMD
    Compiler
    rustc 1.99.0 + Binaryen wasm-opt 130
    AI
    Fable 5.2
    1.84 ms · 1066 MB/s
  4. 4.
    patrickgwsmith
    Language
    C++ SIMD
    Compiler
    zig c++ 0.15.2 (clang)
    AI
    Fable 5.2
    1.86 ms · 1059 MB/s
  5. 5.
    patrickgwsmith
    Language
    Zig SIMD
    Compiler
    zig 0.15.2
    AI
    Fable 5.2
    1.87 ms · 1053 MB/s

How does your machine compare?

Rerun the benchmark for the top 5 in your browser, with the same shuffled passes and warmup as the server. See whether your machine puts them in the same order, and whether the gaps between them match. Results are saved under your GitHub account.

Fastest suite

Total time to run the compliance fixture suite.

  1. 1.
    patrickgwsmith
    Language
    Nim
    Compiler
    Nim 2.4.0 (C backend) + Clang 20.1.2 + wasm-ld 23.1.4
    AI
    qwen3.8-27b:8bit
    4908.47 ms
  2. 2.
    patrickgwsmith
    Language
    Zig
    Compiler
    zig 0.15.2
    AI
    qwen3.8-27b:8bit
    5230.38 ms
  3. 3.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (bundled clang)
    AI
    qwen3.8-27b:8bit
    5295.17 ms

How does your machine compare?

Rerun the compliance suite for the top 3 in your browser, with a fresh instance per case as on the server. See whether your machine puts them in the same order, and whether the gaps between them match. Results are saved under your GitHub account.

Least memory

  1. 1.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Opus 5.5
    2 pages
  2. 2.
    patrickgwsmith
    Language
    Rust
    Compiler
    rustc 1.93.0
    AI
    Opus 5.5
    2 pages
  3. 3.
    patrickgwsmith
    Language
    Zig
    Compiler
    zig 0.15.2
    AI
    Opus 5.5
    2 pages

Smallest Wasm

  1. 1.
    patrickgwsmith
    Language
    Zig
    Compiler
    zig 0.15.2 + Binaryen wasm-opt 130
    AI
    Fable 5.2
    10.4 KiB
  2. 2.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2) + Binaryen wasm-opt 130
    AI
    Fable 5.2
    10.4 KiB
  3. 3.
    patrickgwsmith
    Language
    Rust
    Compiler
    rustc 1.99.0 + Binaryen wasm-opt 130
    AI
    Fable 5.2
    10.5 KiB

Sign in to compare on your machine

Comparisons are saved with your GitHub account, so we can trust the results and set aside any that look wrong. We never ask for access to your repositories.