Pulse 게시 ·

Kotlin/Wasm 백엔드에 꼬리 호출 지원 추가…재귀 스택 증가 억제

Kotlin Foundation의 GSoC 프로젝트가 Kotlin/Wasm 백엔드에 WebAssembly 꼬리 호출 명령 지원을 추가했다. JetBrains에 따르면 기여자의 일부 재귀 벤치마크는 깊이 1만에서 1.7~4.3배 빨라졌다. 깊이 100만에서는 기존 방식이 충돌한 반면 꼬리 호출을 적용한 프로그램은 완료됐으며, 적용 릴리스 버전은 명시하지 않았다.

내용·출처 업데이트 · 2026. 10. 16. 오전 6:20

컴파일러가 꼬리 위치의 호출을 감지해 return_call 또는 return_call_ref 명령을 생성한다.

속도 향상은 기여자 Ayako Hayasaka가 수행한 일부 재귀 패턴의 벤치마크 결과다.

실제 프로젝트 시험 중 V8의 return_call 최적화 누락을 발견했으며, 기여자가 제출한 수정 패치가 V8에 병합됐다.

Kotlin Foundation은 별도 프로젝트로 여러 출처의 Kotlin 교육 정보를 수집·구조화하는 데이터베이스도 구축했다고 소개했다.

꼬리 위치의 호출을 전용 명령으로 바꿔 스택 증가를 피하는 방식이므로, 모든 재귀 코드가 같은 효과를 얻는 것은 아니다.

원문