더 빠른 Go 인터프리터: C++ 따라잡기

2025-04-05
더 빠른 Go 인터프리터: C++ 따라잡기

PlanetScale을 구동하는 오픈소스 데이터베이스 Vitess의 SQL 평가 엔진은 원래 파서에서 생성한 SQL AST를 직접 사용하는 AST 평가자로 구현되었습니다. 지난 1년 동안, 우리는 이를 점진적으로 가상 머신으로 대체해 왔습니다. 이 가상 머신은 Go로 네이티브하게 작성되었음에도 불구하고, MySQL의 기존 C++ 평가 코드와 유사한 성능을 제공합니다. 가장 주목할 만한 점은 새로운 가상 머신이 기존 Go 인터프리터보다 훨씬 빠르면서도 반복적으로 유지보수가 용이하다는 점입니다. 이러한 놀라운 결과를 얻기 위해 우리가 선택한 구현 방식을 검토해 보겠습니다.

개발