gARM: Trình biên dịch Go hiệu năng cao tối ưu cho ARM64
(github.com/go-dockly)Trình biên dịch assembly cho ARM64 kết hợp sự đơn giản của ngôn ngữ Go với khả năng kiểm soát mức thấp và hiệu năng cao.
Cung cấp các tối ưu hóa chuyên biệt cho kiến trúc ARM, tinh chỉnh ở cấp phần cứng, kiểm soát bảo mật, công cụ gỡ lỗi, v.v.
- Có nhiều trình biên dịch Go và assembler ARM, nhưng còn thiếu các công cụ tận dụng những tính năng riêng có của ARM.
- Toán hạng thứ hai của các lệnh số học linh hoạt của ARM
- Khả năng thực thi có điều kiện
- Phép toán NEON SIMD để vector hóa
- Các lệnh chia phần cứng và nhân-tích lũy
- Do ảnh hưởng ngày càng lớn của kiến trúc ARM (Apple M series, AWS Graviton, thiết bị di động, hệ thống nhúng), tầm quan trọng của các công cụ tối ưu hóa chuyên cho ARM64 đang tăng lên.
gARM
- Biên dịch với Generational GC theo mặc định.
- Cung cấp tùy chọn chọn thuật toán GC hoặc không dùng GC.
- Hỗ trợ tính toán hiệu năng cao trên máy chủ ARM (mục tiêu tăng hiệu năng Go lên 5 lần trên ARM64).
- Phù hợp với các hệ thống di động/nhúng đa nền tảng nơi hiệu năng là yếu tố quan trọng.
- Phù hợp với các ứng dụng đám mây chạy trên các instance ARM.
- (AST) -> (SSA) -> (IR) -> (Optimizer) -> (Assembly)
1 bình luận
Mình tò mò không biết debugger Delve có thể bám vào ngay được không.
Ngay cả lúc chuyển từ x86 sang aarch64 cũng đã mất khá lâu...