PHPerKaigi 2026
パンフ記事(2ページ)

Erlang VMは進化したPHPかもしれない

Comamoca_ こまもか Comamoca_
4

古典的なPHPはCGIで実行されます。CGIはリクエスト毎にメモリを破棄するモデルとなっており、リクエスト間でのメモリ空間は独立しています。しかし、パフォーマンスに難があります。

Erlang VMもまた、リクエスト毎にメモリを破棄するという点では同じアプローチを取ります。Erlang VMではprocessと呼ばれる軽量なグリーンスレッドを用いて並列分散処理を行い、リクエスト毎にprocessを割り当てて実装するのが一般的です。
PHPのCGIとメモリ管理の考え方は共通していますが、Erlang VMは軽量なprocessにより高いパフォーマンスを実現しています。

Erlang VMは優れた処理系ですが、メジャーな言語であるErlangやElixirは動的型付け言語です。一方、最近v1に到達したGleamは、静的型付けかつシンプルな構文で、ErlangとJavaScriptにコンパイルできます。

本記事ではGleamを用いてWebアプリケーションを実装し、PHPとErlang VMの類似点と相違点を実際に検証します。堅牢なメモリ管理や高度な並列処理など、Erlang VMの魅力を紹介していきます。