정보기술 ·
Go 팀, 신기능 대거 탑재한 Go 1.25 정식 출시
[한국정보기술신문] 구글의 Go 개발팀이 프로그래밍 언어 Go의 최신 버전인 Go 1.25를 정식 출시했다고 발표했다. 이번 버전은 지난 Go 1.24 출시 6개월 만에 공개된 것으로, 컨테이너 환경 최적화와 실험적 기능들을 대거 포함한 것이 특징이다.
컨테이너 환경 성능 대폭 개선
Go 1.25의 가장 주목할 만한 변화는 컨테이너 환경에서의 성능 최적화다. 이전 버전까지는 Go 런타임이 컨테이너의 CPU 제한을 인식하지 못해 물리적 머신의 모든 CPU 코어 수만큼 GOMAXPROCS 값을 설정했지만, 1.25부터는 cgroup 설정을 통한 CPU 제한을 자동으로 감지해 적절한 값으로 조정한다. 이로 인해 쿠버네티스나 도커 환경에서 "CPU 스로틀링" 오류가 크게 줄어들 것으로 예상된다.
동시성 테스트와 실험적 JSON 패키지 추가
Go 1.25는 동시성 코드 테스트를 위한 새로운 testing/synctest 패키지를 정식 도입했다. 이 패키지는 가상 시간을 사용해 동시성 코드를 격리된 환경에서 테스트할 수 있게 해준다. 또한 GOEXPERIMENT=jsonv2 환경변수를 설정하면 실험적인 새로운 JSON 구현을 사용할 수 있다.
실험적 가비지 컬렉터 'Green Tea' 도입
성능 향상을 위한 또 다른 시도로, Go 1.25는 'Green Tea'라는 새로운 실험적 가비지 컬렉터를 도입했다. 이는 많은 작은 객체를 생성하고 다중 CPU 코어를 가진 현대적 컴퓨터에 최적화된 알고리즘이다. GOEXPERIMENT=greenteagc 플래그를 통해 활성화할 수 있으며, 향후 버전에서 정식 채택 여부가 결정될 예정이다.
보안 강화와 개발자 편의성 증대
새로 추가된 http.CrossOriginProtection 타입은 교차 사이트 요청 위조(CSRF) 공격을 방지하는 기능을 제공한다. 이는 Sec-Fetch-Site 헤더 검사와 Origin, Host 헤더 비교를 통해 안전하지 않은 교차 출처 브라우저 요청을 차단한다. 또한 컴파일러와 링커에서 DWARF 버전 5를 사용해 디버깅 정보 크기를 줄이고 링크 시간을 단축했다.
Go 1.25는 Go 1 호환성 약속을 유지하면서도 성능과 개발자 경험 개선에 중점을 뒀다. 공식 바이너리와 설치 프로그램은 Go 다운로드 페이지에서 제공되며, 개발자들은 새로운 실험적 기능들에 대한 피드백을 제공할 수 있다.
한국정보기술신문 정보기술분과 전호재 기자 news@kitpa.org