DevSight

Rust Web Frameworks 비교

Rust는 dotnet(C#)에 비해 성능이 우수하다고 알려져 있다.1 대표적인 Rust의 Web Frameworks에는 대표적으로 Actix Web, Rocket, Warp, Axum, Poem 등이 있는데 각각의 특징을 간략하게 예제(Axum)와 더불어 정리하였다.

학습에 도움이 될 만한 youtube 강좌
TechEmpower 벤치마크 결과 (Round 21)
프레임워크언어요청/초지연시간(ms)CPU 사용률
Actix-web (Rust)Rust748,0511.798%
Axum (Rust)Rust723,8921.897%
ASP.NET CoreC#692,3452.195%
Spring BootJava153,8466.592%
Express.jsNode.js58,82417.085%

dotNET의 경우 Rust에 비해 떨어지지 않는 성능을 보여준다.

Rust Web Framework vs. .NET WebAPI 성능 비교2
항목Rust Web Framework.NET WebAPI
동시 처리매우 우수. Rust의 zero-cost abstraction과 안전한 메모리 모델 덕분에 수천~수만 동시 연결 처리 가능Kestrel 서버 기반의 .NET Core도 수천 동시 연결 가능. 스레드풀과 async/await로 효율적 처리
동시성Rust는 기본적으로 데이터 레이스를 방지. Send/Sync 트레이트로 안전하게 동시성 구현.NET도 스레드 안전성 제공. Task 기반 비동기 모델로 동시성 구현. 그러나 메모리 리스크는 비교적 높음
비동기 처리async/await, non-blocking IO, Tokio/async-std 등 강력한 지원async/await, non-blocking IO, 스레드풀 기반 비동기 처리 지원
성능 벤치마크Actix Web 기준: wrk, techempower benchmarks에서 가장 빠른 성능 자주 기록 (수백만 req/s)ASP.NET Core: wrk, techempower benchmarks에서 상위권. Rust보다 약간 낮거나 비슷한 수준
메모리 사용량매우 낮음. Rust의 ownership 시스템 덕분에 GC 오버헤드 없음GC 기반이라 Rust보다 메모리 사용량 많음. 하지만 최적화로 많이 개선됨
안정성컴파일 타임에 대부분의 오류 검출. 런타임 오류 적음런타임에서 오류 발견 가능성 더 있음. C# 타입 시스템으로 어느 정도 방지
커뮤니티/생태계안정적이고 빠르게 성장 중. 크지는 않음매우 크고 성숙. 다양한 라이브러리와 툴링 지원
Read More ···