- 著者
-
上田 陽平
小原 盛幹
- 雑誌
- 情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
- 巻号頁・発行日
- vol.13, no.1, pp.17, 2020-01-29
Webアプリケーション開発においては,動的コンパイル言語やスクリプト言語が実装言語として選択されることが多い.これは,静的コンパイル言語に比べてデプロイに必要な時間が短く,新しい機能やバグ修正を迅速にリリースでき,開発生産性の向上に寄与するためと考えられる.しかし,近年のコンテナ技術や継続的インテグレーション・継続的デリバリーの普及により,静的コンパイル言語を用いたWebアプリケーションの開発においても動的コンパイル言語やスクリプト言語と遜色ない生産性を実現する環境が整いつつある.本発表では,静的コンパイル言語のGoと動的コンパイル言語のJavaおよびJavaScriptで実装されたWebアプリケーションの性能評価結果を報告する.WebアプリケーションであるAcme Airベンチマークの各言語での実装を使用して性能評価を行い,Goによる実装はJavaScriptに対して約1.6倍,Javaに対して約1.8倍のスループットを達成することを確認した.性能プロファイルの分析によると,GoのWebフレームワークはJavaのWebフレームワークに比べてREST型Webリクエストの処理に必要なコードフットプリントが少なく,また,動的型付けのJavaScriptと比較して静的型付けのGoはランタイム検査のオーバヘッドが少ないことが判明した.GoはJavaおよびJavaScriptに対して優位な性能を示しており,Webアプリケーションにおいても静的コンパイル言語の普及が期待される.