c와 런타임라니브러리 합친 크기와 동일 기능하는 러스트 프로그램 실행파일 크기 비교

챗지피티

Rust는 기본적으로 정적 링크를 사용하고 C보다 런타임 종속성이 적지만, 실행 파일 크기는 보통 Rust가 더 큽니다.

비교 예시 (Hello World 수준)

언어실행 파일 크기설명C9~15 KBgcc -static 옵션 없이 컴파일 시 (glibc 동적 링크)Rust200~400 KBcargo build --release (기본 정적 링크, panic 포함)

동일 기능 비교 (예: 파일 읽기, JSON 처리 등)

C + glibc + json-c 라이브러리 정적 링크: 수십~수백 KB

Rust (serde, reqwest 등 포함): 수 MB 수준

줄이는 방법

Rust에서 크기 줄이기:

cargo build --release strip target/release/프로그램

추가로:

[profile.release] panic = "abort" codegen-units = 1 lto = true

→ 이 설정으로 300~500 KB까지 줄일 수 있음 (단순 프로그램 기준)

정리

항목CRust기본 실행 파일 크기작음 (동적 링크)큼 (정적 링크)런타임 필요 여부glibc 등 필요없음 (정적 포함됨)최소 크기 실현 가능✅ (uClibc, musl)✅ (no_std, panic=abort)

⚠+ 복잡한 기능일수록 Rust 실행파일은 더 커지지만, 보안성과 안정성 측면에선 우위가 있음.
비교할 C 예제가 있으면 Rust로 다시 짜서 직접 비교해드릴 수도 있어요.



"도둑은 집을 떠나며 주인을 욕한다" - 러시아 속담
40년전 미국 빌보드 5주 연속 1위한 한국 노래
https://youtube.com/shorts/MhPKOQiOOQI?