피드로 돌아가기
Go BlogGo Blog
Backend

Go 팀이 Go 1.26을 출시해 new 함수에 초기값 지정, 제네릭 자기참조, Green Tea GC 기본 활성화로 성능 30% 개선

Go 1.26 is released

Carlos Amedee, on behalf of the Go team2026년 2월 10일5intermediate

Context

Go 언어의 기존 문법과 성능 특성을 개선하면서도 개발자 경험을 단순화해야 했다. 특히 복잡한 데이터 구조 구현 시 코드 가독성이 떨어지고, 가비지 컬렉션 오버헤드와 cgo 호출 비용이 여전히 병목이었다.

Technical Solution

  • new 함수에 초기값 표현식 지정 가능: ptr := new(int64(300))으로 변수 선언과 초기화를 단일 구문으로 통합
  • 제네릭 타입의 자기참조 허용: 타입 파라미터 리스트에서 자신을 참조 가능하도록 문법 확장
  • Green Tea 가비지 컬렉터 기본 활성화: 실험적 단계에서 안정화되어 기본값으로 설정
  • cgo 오버헤드 감소: 기본 호출 비용을 약 30% 낮춤
  • 슬라이스 백킹 스토어의 스택 할당 확대: 컴파일러가 더 많은 상황에서 슬라이스를 스택에 할당 가능하게 개선
  • go fix 명령어 재작성: Go 분석 프레임워크 기반으로 재구현하고 "modernizers" 분석기 추가
  • 새 패키지 추가: crypto/hpke, crypto/mlkem/mlkemtest, testing/cryptotest

Impact

  • cgo 기본 오버헤드 30% 감소

Key Takeaway

언어 수준의 문법 개선(new 함수 초기값 지정, 제네릭 자기참조)과 런타임 최적화(GC 개선, 스택 할당 확대)를 함께 적용하면 개발자 편의성과 성능을 동시에 달성할 수 있다. 실험 기능을 선택적으로 제공하되 충분한 검증 후 기본값으로 전환하는 점진적 안정화 전략도 주목할 가치가 있다.


Go 개발자는 Go

1.26 업그레이드 후 복잡한 데이터 구조를 다루는 코드에서 제네릭 자기참조를 활용하면 타입 정의를 단순화할 수 있으며, cgo 오버헤드 감소는 C 라이브러리 호출이 많은 시스템(예: 암호화, 이미지 처리)에서 약 30% 성능 향상을 기대할 수 있다.

원문 읽기