비동기 러스트, 아직 MVP 상태에서 못 벗어났다는 꽤 아픈 지적
글쓴이는 비동기 러스트(async Rust)가 서버와 마이크로컨트롤러를 모두 커버하는 멋진 모델이지만, 컴파일러가 만드는 상태 기계가 아직 너무 비싸다고 지적한다. 특히 임베디드나 WASM처럼 바이너리 크기가 중요한 환경에서는 불필요한 panic 경로, 상태, 중복 MIR이 실제 비용으로 튄다.
- 1
async 블록은 await가 없어도 Returned, Panicked 같은 기본 상태를 가진 상태 기계로 변환됨
- 2
완료된 Future를 다시 poll할 때 panic하는 경로가 최적화를 방해하고 바이너리 크기를 키움
- 3
글쓴이의 컴파일러 실험에서는 release에서 완료 후 Pending 반환만으로 임베디드 펌웨어 바이너리 크기가 2-5% 줄었음
- 4
await가 없는 async 블록에서 상태 기계를 제거하면 0.2% 크기 절감, 합치면 x86 합성 벤치마크에서 약 3% 성능 향상이 나옴
- 5
단일 await Future 인라이닝과 동일 상태 병합은 아직 실험 전이지만 더 큰 효과가 예상됨
이 글의 포인트는 ‘async Rust가 느리다’가 아니라 ‘컴파일러가 너무 보수적인 상태 기계를 만들고, 그 비용을 LLVM이 나중에 다 치워주길 기대하고 있다’는 데 있음. 서버에서는 티가 덜 나도, 임베디드와 WASM에서는 이런 몇 퍼센트가 바로 제품 제약이 됨.
관련 기사
30살 된 FastCGI가 아직도 리버스 프록시 백엔드 프로토콜로 더 낫다는 주장
HTTP를 리버스 프록시와 백엔드 사이 프로토콜로 쓰는 관행이 desync 공격과 신뢰 헤더 문제를 계속 만든다는 글이다. 저자는 FastCGI가 1996년 나온 오래된 프로토콜이지만 명시적 프레이밍과 신뢰 정보 분리 덕분에 이 구간에서는 HTTP보다 안전한 선택일 수 있다고 주장한다.
삼성SDS, 삼성전기 SAP ERP 클라우드 전환 — 다운타임 140시간을 34시간으로 줄였다
삼성SDS가 삼성전기의 차세대 SAP ERP 클라우드 전환 프로젝트를 완료. 국내 최초 RISE with SAP 프리미엄 서플라이어 기반 사례이고, Downtime Optimized Conversion 적용으로 8.5TB HANA DB 전환 다운타임을 76% 단축. DVM으로 DB 용량 35% 축소, 업무 효율 25% 이상 개선.
월 $20 인프라로 MRR $10K 회사 여러 개 돌리는 법
VPS 하나, Go 바이너리, SQLite, 로컬 GPU, GitHub Copilot 조합으로 월 $20 이하의 인프라 비용으로 MRR $10K 넘는 회사를 여러 개 운영하는 개발자의 실전 플레이북. AWS 없이도 충분히 확장 가능한 아키텍처를 구축할 수 있음을 구체적 수치와 코드로 보여줌.
소프트웨어 개발자를 위한 USB 입문 — 유저스페이스 드라이버 직접 만들기
커널 코드 없이 libusb를 사용해 유저스페이스에서 USB 드라이버를 작성하는 방법을 안드로이드 Fastboot 프로토콜을 예시로 설명하는 튜토리얼. USB 엔드포인트 유형, 열거(enumeration) 과정, 컨트롤/벌크 전송의 동작 원리를 실습 중심으로 다룸.
IBM과 Arm, 양쪽 워크로드 모두 실행 가능한 하드웨어 공동 개발 발표
IBM과 Arm이 클라우드 이전이 어려운 규제 워크로드를 겨냥해 양쪽 아키텍처를 모두 지원하는 하드웨어를 공동 개발함. 가상화, 규제 준수, 공통 기술 세 가지에 초점을 맞추고 있으며, 출시까지 약 3년이 소요될 것으로 예상됨.
댓글
댓글
댓글을 불러오는 중...