순수 어셈블리로 만든 프로그래밍 언어, LZ77에서 C보다 6.6배 빠름

발행: (2026년 6월 5일 AM 02:05 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

내가 두 번 확인하게 만든 수치들

나는 실제 알고리즘(마이크로‑벤치마크가 아닌)으로 6개 언어(C, Rust, Go, Jda, Python, Ruby) 벤치마크 스위트를 실행했다.

  • Sudoku (500 퍼즐): C 62 ms, Rust 62 ms, Go 66 ms, Jda 41 ms
  • LZ77 (1 MB 압축): C 1,830 ms, Rust 2,185 ms, Go 2,721 ms, Jda 277 ms

이는 Sudoku에서 C보다 1.5배 빠르고, LZ77에서는 C보다 6.6배 빠른 결과다. Jda 바이너리는 Rosetta 2(x86‑64 에뮬레이션)에서 실행됐으며, C/Rust/Go 바이너리는 네이티브 ARM64였다.

어떻게?
C 컴파일러가 쉽게 할 수 없는 소스‑레벨 최적화: MOD→AND 강도 감소, 해시‑체인 호이스팅, 공격적인 죽은 코드 제거.

컴파일 시간

컴파일 속도가 크게 빨라졌다:

  • Rust보다 33배 빠름
  • Go보다 16배 빠름

LLVM을 건너뛰면서 많은 시간을 절약했다.

문법 맛보기

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

실제 ripgrep‑스타일 검색 도구(전체 약 400줄)가 의존성 없이 1 MB 정적 바이너리로 컴파일된다.

박스 안에 뭐가 있나요

  • 자체 호스팅 컴파일러 — 바이트‑동일 고정점에 2026년 4월 도달
  • 117개의 표준 라이브러리 패키지 — HTTP, JSON, 암호화, 텐서, 신경망 등
  • 내장 동시성 — goroutine‑스타일 그린 스레드, GC 없음
  • 388개의 호환성 테스트 통과
  • Windows, macOS, Linux용 네이티브 설치 프로그램

사용해 보기

레포지토리:

부트스트랩 과정, 코드 생성, 혹은 내가 이 프로젝트를 시작한 이유 등에 대해 자유롭게 질문해 주세요.

0 조회
Back to Blog

관련 글

더 보기 »

모바일 한여름 열풍

!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...