Relax, Rust를 실행하며 빌드하는 JIT 컴파일러 공개
Relax: JIT compiler for Rust to reduce build times
Makepad가 Rust용 라이브 JIT 컴파일러 Relax를 공개했다. rustc, LLVM, 링커 없이 Cargo 패키지를 소스에서 바로 실행하며, M4 MacBook에서 대형 3D 게임이 첫 프레임까지 11초(기존 약 3분) 걸리고 두 번째 실행은 1.15초에 그친다. 파일을 저장하면 변경된 함수만 실행 중인 프로세스에 패치되어 상태가 유지되고, 92개 테스트가 2.2초 만에 재실행된다. 단, 최적화된 코드는 여전히 rustc --release보다 느리다.
rustc는 프로그램을 빌드한 뒤 실행하지만, Relax는 프로그램을 빌드하는 동안 실행한다.
- faresahmed
어찌 된 일인지 항상, 어딘가의 누군가가 코딩과 코드 실행 사이의 시간을 줄이는 것이 우리 삶을 더 편하게 하고 어느 정도는 더 나은 프로그램을 작성할 수 있게 해준다는 사실을 다시 발견한다.
아마도 가장 이른, 그리고 최고의 시도는 Lisp의 계산 모델이었을 것이다. 그 이후로 이 아이디어는 여러 다른 형태로 다시[1], 또다시[2], 또다시[3] 나타났다.
[1]: Inventing on Principle, Bret Victor: https://www.youtube.com/watch?v=PUv66718DII
[2]: REPL-Driven Development, Stuart Halloway: https://vimeo.com/223309989
[3]: LIVE, Live Programming workshop: https://liveprog.org/
- Sytten
지금까지 CI와 로컬에서 빌드 속도를 높이는 데 kache로 좋은 경험을 했다
- kennykartman
makepad 개발자들이 빌드 시간에 집중하고 있다는 건 알고 있었지만, 이 정도일 줄은 몰랐다!