LLGo는 LLVM 기반 Go 컴파일러로 Go 코드를 사용하면서 C ABI를 통해 C/C++뿐 아니라 Python·JavaScript·Objective‑C·Swift 생태계와 연결하는 것을 목표로 합니다. Go 1.20+ 소스와 Go 1.27 문법을 지원하고 Linux·macOS·Windows와 WebAssembly, 일부 embedded target까지 지원합니다. github.com

특히 표준 Go의 cgo와 달리 native goroutine을 OS thread에 1:1로 매핑하고 C ABI 호출을 직접 수행하기 때문에 빈번한 C 호출에서 Go↔C scheduler/stack 전환 비용을 피하는 구조입니다. 프로젝트는 AI/data science도 명시적인 활용 분야로 제시하고 있습니다. github.com

LLM inference나 데이터 처리처럼 C/C++ 라이브러리가 많은 영역에서 Go 서비스와 native AI library를 자주 넘나드는 경우 흥미로운 선택지가 될 수 있습니다. 다만 표준 Go runtime과 구조가 다르므로 production 도입 전 GC·goroutine semantics·compatibility 테스트는 필요합니다.

LLGo GitHub 원본