I built a programming language from raw assembly — and it beats C by 6.6 on LZ77

Published: (June 4, 2026 at 01:05 PM EDT)
2 min read
Source: Dev.to

Source: Dev.to

The numbers that made me double‑check

I ran a six‑language benchmark suite (C, Rust, Go, Jda, Python, Ruby) on real algorithms — not micro‑benchmarks.

  • Sudoku (500 puzzles): C 62 ms, Rust 62 ms, Go 66 ms, Jda 41 ms
  • LZ77 (1 MB compress): C 1,830 ms, Rust 2,185 ms, Go 2,721 ms, Jda 277 ms

That’s 1.5× faster than C on Sudoku and 6.6× faster than C on LZ77. The Jda binary ran under Rosetta 2 (x86‑64 emulated) while the C/Rust/Go binaries were native ARM64.

How?
Source‑level optimizations the C compiler can’t easily do: MOD→AND strength reduction, hash‑chain hoisting, aggressive dead‑code elimination.

Compile times

Compilation is dramatically faster:

  • 33× faster than Rust
  • 16× faster than Go

Skipping LLVM saves a lot of time.

A taste of the syntax

fn search_file(path: &i8, pattern: &i8) -> i64 {
    // …
}

A real ripgrep‑style search tool (~400 lines total) compiles to a 1 MB static binary with zero dependencies.

What’s in the box

  • Self‑hosted compiler — byte‑identical fixed point reached April 2026
  • 117 standard‑library packages — HTTP, JSON, crypto, tensors, neural networks
  • Built‑in concurrency — goroutine‑style green threads, no GC
  • 388 conformance tests passing
  • Native installers for Windows, macOS, Linux

Try it

Repository:

Feel free to ask questions about the bootstrap process, the code generation, or why I undertook this project.

0 views
Back to Blog

Related posts

Read more »

Mobile Midsommer Madness

!Cover image for Mobile Midsommer Madnesshttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploa...