순수 어셈블리로 만든 프로그래밍 언어, LZ77에서 C보다 6.6배 빠름
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용 네이티브 설치 프로그램
사용해 보기
레포지토리:
부트스트랩 과정, 코드 생성, 혹은 내가 이 프로젝트를 시작한 이유 등에 대해 자유롭게 질문해 주세요.