Kakehashi chạy file binary macOS ARM trực tiếp trên Linux

Giờ bạn đã có thể chạy file binary macOS ARM trực tiếp trên Linux ARM mà không cần dựng cả một máy ảo.
Một công cụ mã nguồn mở mới tên Kakehashi vừa ra đời, giúp dịch file binary macOS ARM64 để chạy thẳng trên Linux ARM64. Thay vì giả lập tập lệnh CPU, nó chạy mã trực tiếp trên CPU host. Kakehashi nạp file binary Mach-O của Apple, nhúng sẵn libSystem độc lập và dịch các syscall BSD ngay trong lúc chương trình đang chạy. Thử nghiệm ban đầu cho thấy nó chạy tốt các công cụ CLI thực tế của macOS như curl, 7-Zip và các tác vụ thử nghiệm của clang.
Vì sao lại quan trọng: Thuê runner macOS trên cloud đắt hơn rất nhiều so with các server Linux ARM tiêu chuẩn. Kakehashi cho phép chạy công cụ dòng lệnh Mac trên phần cứng Linux ARM giá rẻ, giúp hạ đáng kể chi phí cho các luồng CI/CD dành riêng cho Mac.
Cần biết thêm: Hiệu năng phụ thuộc nhiều vào tần suất công cụ gọi kernel. Nén hàng ngàn file nhỏ sẽ chậm hơn khoảng 5.2 lần so với Linux native do tốn chi phí dịch syscall. Tuy nhiên, các tác vụ tính toán nặng lại chạy gần như native, chỉ tốn thời gian từ 1.1 đến 1.2 lần. Dự án vẫn đang thử nghiệm, chưa hỗ trợ GUI, codesigning hay đầy đủ framework của Apple.
Hóa đơn GitHub Actions của bạn cuối cùng cũng sắp dễ thở hơn rồi đấy.
Nguồn
- Kakehashi on GitHub — https://github.com/wie-project/kakehashi
- Hacker News Discussion — https://news.ycombinator.com/item?id=49145937

