Goインタープリターの高速化:C++に追いつく

2025-04-05
Goインタープリターの高速化:C++に追いつく

PlanetScaleを支えるオープンソースデータベースVitessに搭載されているSQL評価エンジンは、当初、パーサーによって生成されたSQL ASTを直接操作するAST評価器として実装されていました。この1年間、それを徐々に仮想マシンに置き換えてきました。この仮想マシンはGoでネイティブに記述されているにもかかわらず、MySQLの元のC++評価コードと同等の性能を発揮します。最も注目すべきは、新しい仮想マシンは元のGoインタープリターよりもはるかに高速でありながら、繰り返しメンテナンスが容易であることが証明されていることです。この驚くべき結果を得るために私たちが行った実装の選択について見ていきましょう。

開発