- Bun의 Rust 재작성판은 Linux x64 glibc 환경에서 기존 테스트 스위트의 99.8% 를 통과함
- 코드베이스는 “기본적으로 같은 코드베이스”이며, Rust 전환으로 컴파일러가 타입 생명주기를 강제하고 필요한 시점에 소멸자를 사용할 수 있게 됨
- 안전하지 않은 부분은 Rust의 unsafe로 더 분명해져 리팩터링을 유도하는 효과가 있음
- 재작성 이유는 메모리 누수, 크래시, 안정성 문제를 걱정하고 수정하는 데 많은 시간을 쓰는 데 지쳤고, 언어가 이를 막는 더 강력한 도구를 제공하길 원했기 때문임
- 전체 규모는 960,000 LOC 재작성으로 표현됐고, Linux에서 테스트 스위트를 통과하며 다른 플랫폼도 곧 대상이 될 예정임
Rust 재작성 상태
- Bun의 Rust 재작성판은 Linux x64 glibc 환경에서 기존 테스트 스위트의 99.8% 를 통과함
- 코드베이스는 “기본적으로 같은 코드베이스”이며, Rust로 바꾸면서 컴파일러가 타입의 생명주기를 강제하고 필요한 시점에 소멸자를 사용할 수 있게 됨
- 안전하지 않은 부분은 Rust에서 unsafe로 더 분명하게 드러나며, 리팩터링을 유도하는 효과가 있음
- 재작성 배경에는 메모리 누수, 크래시, 안정성 문제를 걱정하고 수정하는 데 많은 시간을 쓰는 데 지쳤고, 언어가 이런 문제를 막는 더 강력한 도구를 제공하길 원했다는 이유가 있음
- 전체 규모는 960,000 LOC 재작성으로 표현됐고, 코드는 실제로 동작하며 Linux에서 테스트 스위트를 통과하고 다른 플랫폼도 곧 대상이 될 예정임
향후 공개될 내용과 빌드 관련 답변
- Bun에 대한 의미, 벤치마크, 메모리 사용량, 향후 유지보수성, 실제 재작성 과정은 별도 블로그 글에서 다룰 예정임
- 재작성 과정은 단순히 “claude, rewrite bun in rust. make no mistakes”라고 한 것이 아니며, 끝까지 동작하는 상태에 도달하기 위한 작업은 6일 전부터 시작됨
- 수작업이었다면 막대한 작업량이었을 것이라고 표현됨
- 컴파일 시간은 더 빠른 Zig 컴파일러를 쓰는 기존 Zig 버전과 기본적으로 비슷하며, upstream Zig 컴파일러를 썼다면 Rust 포트가 더 빠르게 컴파일됐을 것이라고 함
- 성능은 별도 블로그 글에서 다룰 예정임
- libc 자체를 Rust 버전인 frankenlibc로 대체하는 다음 단계에 대해서는, 그 전에 직접 libc를 만들겠다고 함

2 hours ago
2

!["아아 팔아 갖고는"…치킨·볶음밥까지 내놓은 커피전문점 '속사정' [트렌드+]](https://img.hankyung.com/photo/202604/01.43949627.1.jpg)






English (US) ·