どのプログラミング言語やフレームワークが高速に動作するのかを示すベンチマークは常に注目が集まるコンテンツです。一方でベンチマークの実行方法や環境がフェアではないということで物議を醸しやすいのが難点です。
この問題を解決しうるベンチマークプロジェクトが「Web Framework Benchmarks」です。このプロジェクトでは使用しているソースコードや環境セットアップ用のスクリプトが公開されています。実行環境にAmazon EC2と物理マシンを併用しており、同一の環境で誰でも結果を取得できるようになっています。そしてそれらのコードはGitHub上のpull requestによって有志が改良を加えています。結果としてどの結果も非常にチューニングされており、最も低速なものでも1秒間あたり100レスポンスを超える処理を行え、実用レベルで高速と言えます。
特に複雑度の高いデータベースから複数件のデータを取得してHTMLページとして出力した場合の結果は図1のとおりです。なおテストの結果は随時更新されており、またページ上にはさまざまなテスト条件でのテスト結果が掲載されているのでテスト条件によって結果は異なりますので、ぜひ元のページも参照してみてください。
図1では、上位にはプロジェクトを主催するTechEmpower社のGeminiや、Go、サーブレット、Onionといったコンパイル型の言語が多く、RubyやPHP、Node.jsなどはその下のグループに入っています。またテスト実行のパターンも次々と増えておりWindows環境でのテスト結果も増えてきています。ベンチマーク結果が気になる人にとっては今後も目が離せないプロジェクトです。
URL:http://www.techempower.com/benchmarks/
- 著者プロフィール
安藤祐介(あんどうゆうすけ)
下北沢OSS カフェに毎週出没中。ソーシャル本棚librize.com登録4万冊突破おめでとうございます!
Twitter:yando
小倉純也(おぐらじゅんや)
この号が出るころにはqnypがオープンしてるといいな…。
Twitter:junya
溝畑考史(みぞはたたかし)
トライアスリートになっている予定です。
Twitter:beatak