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 “256 KiB of memory 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.4 KiB 13.5 KiB 162 ms 396 ms Gzipped Wasm size Median benchmark time 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
5 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 5 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.

5 passing submissions, smallest gzipped Wasm on the left, bar height the median benchmark time from zero. The 4 solid bars are each faster than everything smaller; muted bars have a smaller, faster submission to their left.

Times 5 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
  • Apple M1 · Node.js (V8)
  • Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz · Node.js (V8)
  • Chrome (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. C 167 ms 11.1 KiB gzipped
  2. Odin 319 ms 10.5 KiB gzipped
  3. Rust 326 ms 10.3 KiB gzipped
  4. Zig 383 ms 10.2 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. Zig 10.2 KiB 383 ms
  2. Rust 10.3 KiB 326 ms
  3. C 10.3 KiB 180 ms
    1. 1. patrickgwsmith 10.3 KiB 180 ms
    2. 2. patrickgwsmith 11.1 KiB 167 ms
  4. Odin 10.5 KiB 319 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.

Speed relative to the leader across every machine, as a geometric mean: each submission is compared with the others on the machines they share, so one measured only on a fast machine isn't flattered by it.

  1. 1.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Opus 5.5
    1.00× 4 machines
  2. 2.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Opus 5.5
    1.00× 4 machines
  3. 3.
    patrickgwsmith
    Language
    Odin
    Compiler
    odin dev-2026-10:84bc3fc21
    AI
    Opus 5.5
    1.88× 4 machines
  4. 4.
    patrickgwsmith
    Language
    Rust
    Compiler
    rustc 1.93.0
    AI
    Opus 5.5
    1.99× 4 machines
  5. 5.
    patrickgwsmith
    Language
    Zig
    Compiler
    zig 0.15.2
    AI
    Opus 5.5
    2.06× 4 machines

Fastest suite

Total time to run the compliance fixture suite.

  1. 1.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Opus 5.5
    5466.01 ms
  2. 2.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Opus 5.5
    5960.65 ms
  3. 3.
    patrickgwsmith
    Language
    Rust
    Compiler
    rustc 1.93.0
    AI
    Opus 5.5
    5994.76 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
    Rust
    Compiler
    rustc 1.93.0
    AI
    Opus 5.5
    10.9 KiB
  2. 2.
    patrickgwsmith
    Language
    Zig
    Compiler
    zig 0.15.2
    AI
    Opus 5.5
    10.9 KiB
  3. 3.
    patrickgwsmith
    Language
    C
    Compiler
    zig cc 0.15.2 (Clang 20.1.2)
    AI
    Opus 5.5
    11.0 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.