Webフレームワークの選択には色々な角度からの比較が必要だ
学習難易度、将来性、技術者の集めやすさ、ライブラリの充実度、Web情報量、日本語コミュニティ、実行速度
その中でも、速度について調査した
上記は有名なベンチマークである
もちろん、ベンチマークじゃ実際の数値はわからないが、参考には十分になる
ただし、このベンチはMySQL、PostgreSQLであり、NoSQLだと値は大きく変わるかもしれない
まずは有名フレームワーク
データは先頭より
順位、フレームワーク名、スコア、トップとの割合
MySQLがあるものは、なるべくそちらを選ぶようにした
akka(scala Microservice)
41 |
akka-http |
18,329 |
40.1% |
よく速いと言われているフレームワーク。やはり速い
servlet(java Platform)
45 |
servlet-mysql |
17,994 |
39.4% |
Javaも速い
revel(go Fullstack)
90 |
revel-raw |
12,013 |
26.3% |
フルスタックフレームワークでこの速度!!
node.js(JS Microservice)
スクリプト言語では健闘している
play2(scala Fullstack)
127 |
play2-scala-anorm-netty |
8,401 |
18.4% |
bottle(python Microservice)
141 |
bottle-raw |
8,048 |
17.6% |
play2(java Fullstack)
161 |
play2-java-jpa-hikaricp |
6,925 |
15.1% |
spring(java Fullstack)
phoenix(elixir Fullstack)
laravel(PHP Fullstack)
rails(ruby Fullstack)
codeigniter(PHP Fullstack)
243 |
codeigniter |
2,296 |
5.0% |
Django(python3 Fullstack)
254 |
django-py3 |
1,659 |
3.6% |
tornado(python Platform)
296 |
tornado-postgresql-raw |
— |
Did not complete |
Pythonの非同期フレームワークだが、残念ながらこのベンチは達成できなかった
想定通り
スクリプト言語よりコンパイル言語が速い
同期より非同期が速い
フルスタックフレームワークよりマイクロサービスフレームワークの方が速い
という全体的な傾向が出た
Java、Scalaは速い
revel(go)はフルスタックのわりに高速
気になるフレームワーク
actix(rust Microservice)
vertx(Java Platform)
3 |
vertx-postgres |
41,920 |
91.7% |
http4k(kotlin Microservice)
fasthttp(go Platform)
9 |
fasthttp-postgresql |
26,890 |
58.8% |
swoole(PHP Platform)
asp.NET core MVC(C#Fullstack)
38 |
aspcore-mw-ado-my |
19,015 |
41.6% |
PHPのswoolが速いと聞いていたが予想以上に速い
また、フルスタックながらC#の .NET MVC速い
が、トップに Rustのactixがきて
次点としてJavaのvertx
何個か気になったフレームワークあったので、今度調査します