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?
40년전 미국 빌보드 5주 연속 1위한 한국 노래
https://youtube.com/shorts/MhPKOQiOOQI?
댓글 0