---
title: "Lua 5.5 릴리즈 - 전역변수 선언, 배열 메모리 60% 절감, GC 대폭 개선"
published: 2025-12-22T22:37:53.000Z
canonical: https://jeff.news/article/1134
---
# Lua 5.5 릴리즈 - 전역변수 선언, 배열 메모리 60% 절감, GC 대폭 개선

5년 만에 나온 Lua 5.5는 전역 변수 선언, for-loop 변수 읽기 전용화, 대형 배열 메모리 60% 절감 등 실용적 개선이 핵심임. 세대별 GC 모드와 증분 major GC로 임베디드/게임 환경에서의 GC 부담도 줄어듦.

- Lua 5.4 이후 5년 만에 Lua 5.5가 릴리즈됨. 가볍고 임베딩 가능한 스크립팅 언어답게 실용적인 개선에 집중한 버전
- 전역 변수 선언(global variable declarations)이 추가됨. for-loop 변수는 읽기 전용으로 변경되어 실수로 루프 변수를 덮어쓰는 버그를 방지함
- 대형 배열 메모리 사용량이 약 60% 감소함. `table.create` 함수 추가, 외부 문자열(Lua가 관리하지 않는 메모리 사용) 지원도 들어감
- GC 개선이 눈에 띔. 새로운 세대별(generational) GC 모드 도입, major GC가 증분(incremental) 방식으로 수행됨. 게임 엔진이나 임베디드 환경에서 GC 멈춤 줄이는 데 효과적일 듯
- 기타: float 출력 시 라운드트립 보장되는 충분한 자릿수로 decimal 출력, `luaL_openselectedlibs`/`luaL_makeseed` 함수 추가, 정적 바이너리 지원, readline 동적 로딩, dump/undump 시 문자열 재사용

## 핵심 포인트

- 전역 변수 선언 문법 추가, for-loop 변수 읽기 전용으로 변경
- 대형 배열 메모리 사용량 약 60% 감소, table.create 함수 추가
- 새로운 세대별 GC 모드 도입, major GC가 증분 방식으로 수행
- 외부 문자열 지원, 정적 바이너리 지원, readline 동적 로딩
- float 라운드트립 보장 출력, dump/undump 문자열 재사용

## 인사이트

5년치 변경이 담겼지만 Lua답게 파괴적 변경 없이 실용적 개선에 집중한 릴리즈. 특히 배열 메모리 60% 절감과 증분 GC는 게임/임베디드 쪽에서 체감이 클 듯함.
