# gARM: ARM64에 특화된 고성능 Go 컴파일러

> Clean Markdown view of GeekNews topic #18202. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18202](https://news.hada.io/topic?id=18202)
- GeekNews Markdown: [https://news.hada.io/topic/18202.md](https://news.hada.io/topic/18202.md)
- Type: news
- Author: [lemonmint](https://news.hada.io/@lemonmint)
- Published: 2024-12-11T09:53:44+09:00
- Updated: 2024-12-11T09:53:44+09:00
- Original source: [github.com/go-dockly](https://github.com/go-dockly/garm)
- Points: 13
- Comments: 1

## Summary

gARM은 ARM64 아키텍처에 특화된 고성능 Go 컴파일러로, ARM의 고유한 기능을 활용하여 최적화, 하드웨어 수준 튜닝, 보안 제어 및 디버깅 도구를 제공합니다. ARM 아키텍처의 증가하는 지배력에 따라 ARM64에 특화된 최적화 도구의 중요성이 커지고 있으며, gARM은 ARM 서버에서 고성능 컴퓨팅을 지원하고 크로스 플랫폼 모바일 및 임베디드 시스템에 적합합니다. 또한, gARM은 Generational GC를 기본으로 사용하며, 다양한 GC 알고리즘 선택 옵션을 제공합니다.

## Topic Body

Go 언어의 단순성과 저수준 제어 및 고성능을 결합한 ARM64 어셈블리 컴파일러.  
ARM 아키텍처에 특화된 최적화, 하드웨어 수준 튜닝, 보안 제어, 디버깅 도구 등을 제공.  
  
- Go 컴파일러와 ARM 어셈블러들은 많지만 ARM의 고유한 기능을 활용하는 도구는 부족.  
  - ARM의 유연한 산술 명령어의 두 번째 피연산자  
  - 조건부 실행 기능  
  - 벡터화를 위한 NEON SIMD 연산  
  - 하드웨어 나누기 및 곱셈-누적 명령어  
- ARM 아키텍처의 증가하는 지배력(Apple M 시리즈, AWS Graviton, 모바일 장치, 임베디드 시스템)으로 인해 ARM64에 특화된 최적화 도구의 중요성이 커지고 있습니다.  
  
#### gARM  
  
- 기본적으로 Generational GC를 사용하여 컴파일.  
- GC 알고리즘 선택 또는 GC 미사용 옵션을 제공.  
- ARM 서버에서 고성능 컴퓨팅을 지원합니다 (ARM64에서 Go 성능 5배 향상 목표).  
- 성능이 중요한 크로스 플랫폼 모바일/임베디드 시스템에 적합합니다.  
- ARM 인스턴스에서 실행되는 클라우드 애플리케이션에 적합합니다.  
- (AST) -> (SSA) -> (IR) -> (Optimizer) -> (Assembly)

## Comments



### Comment 32260

- Author: bus710
- Created: 2024-12-12T01:21:35+09:00
- Points: 1

디버거인 Delve가 바로 붙을지 궁금하네요.  
x86에서 aarch64 넘어갈때도 한참 걸렸는데...
