Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Web Application Framework 初夏のベンチマーク祭
Pine Mizune
July 07, 2015
Programming
0
280
Web Application Framework 初夏のベンチマーク祭
新卒技術勉強会で発表した資料
Pine Mizune
July 07, 2015
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
380
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
820
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
420
Lerna による明示的疎結合アーキテクチャ
pine
1
520
CircleCI 2.0 x JavaScript
pine
3
460
Perl 卒業式
pine
0
270
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
380
Emoji Generator meets Browser Extensions
pine
1
2.7k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.4k
Other Decks in Programming
See All in Programming
Loom is Blooming
josepaumard
3
560
Get Ready for Jakarta EE 10
ivargrimstad
0
2.8k
httputil.ReverseProxy でもリトライがしたい
toga4
0
120
コードの解析と言語習得の心得
jinjin33333
0
130
Becoming an Android Librarian
skydoves
3
470
バンドル最適化マニアクス at tfconf
mizchi
4
2.3k
クリエイティブ系のウェブサイト制作で役立つCSS技法 / CSS for develop creative website
clockmaker
2
1.7k
Cloud-Conference-Day-Spring Cloud + Spring Webflux: como desenvolver seu primeiro microsserviço reativo em Java?
kamilahsantos
1
150
脱オブジェクト指向講座(5分LT資料)
kishida
8
11k
CLI構築のススメ
nyankotaro
1
220
書籍『良いコード/悪いコードで学ぶ設計入門』でエンジニアリングの当たり前を変える
minodriven
3
1.1k
ebpfとWASMに思いを馳せる2022 / techfeed-conference-2022-ebpf-wasm-amsy810
masayaaoyama
0
740
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
268
11k
Side Projects
sachag
449
37k
Done Done
chrislema
174
14k
How GitHub (no longer) Works
holman
296
140k
It's Worth the Effort
3n
172
25k
Building an army of robots
kneath
299
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
Building Adaptive Systems
keathley
25
1.1k
Why Our Code Smells
bkeepers
PRO
324
54k
Embracing the Ebb and Flow
colly
73
3.3k
The Art of Programming - Codeland 2020
erikaheidi
32
5.8k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
Transcript
Web Application Framework 初夏のベンチマーク祭 水音氷音
目次 • 目的 • フレームワーク 紹介 • ベンチマーク 取り方 •
ベンチマーク 結果発表 • 考察・まとめ
ベンチマークの目的 Crystal が本当に早いのか知りたい 目的 手段 • 複数言語・フレームワークの速度を計測 • 結果を元に Crystal
の速度を相対的に比較
フレームワーク紹介 Ruby on Rails Sinatra Amethyst
Amon2 Flask Express Perl Ruby Revel Go Python Crystal JS
ベンチマークの取り方 計測方法 計測値 単純リクエスト 配列演算処理 レスポンス時間
秒間リクエスト数 ※ 参照: 計測には wrk を使用 https://github.com/wg/wrk
[ベンチマーク詳細] 単純リクエスト • GET で以下の JSON を返す { “ok”: true,
“langugage”: “言語名”, “framework”: “フレームワーク名”, “time”: UNIX time, }
[ベンチマーク詳細] 配列演算処理 • 素数の計算 – 100,000 以下の素数をすべて求める • エラトステネスの篩 –
計算量 O(N log log N) • 配列へのランダムアクセス 多様
ベンチマーク補足 • 処理系のバージョン – Crystal v0.7.4 – Go 1.4 –
Node v0.12.5 – Perl 5.22.0 – Ruby 2.2.2 – Python 2.7.10 / 3.4.3 • フレームワークバージョン – 7月5日時点での 最新安定版 • 測定条件 – rookies 同一 VPS 内 – wrk 2 threads / 10 connections – Production / Release ENV で測定 – 高速化 チューニング無し • 計測コード – GitHub 上ですべて公開 https://github.com/pine613/wa f_benchmark
[ベンチマーク結果] 単純リクエスト (レスポンス時間) Crystal/ Amethyst Go/ Revel Perl/ Amon2 Node/
Express Python/ Flask Ruby/ Sinatra Ruby/ Rails Latency (ms) 0.57 1.44 2.93 5.15 10.10 43.72 47.99 0.00 10.00 20.00 30.00 40.00 50.00 60.00 Latency (ms)
[ベンチマーク結果] 単純リクエスト (秒間リクエスト数) Crystal/ Amethyst Go/ Revel Perl/ Amon2 Node/
Express Ruby/ Sinatra Ruby/ Rails Python/ Flask Req / Sec 19552.00 7010.00 3588.00 1977.00 985.00 228.00 208.00 0.00 5000.00 10000.00 15000.00 20000.00 25000.00 Request / Sec (回)
[ベンチマーク結果] 配列演算処理 (レスポンス時間) Crystal/ Amethyst Go/ Revel Node/ Express Perl/
Amon2 Ruby/ Sinatra Python/ Flask Ruby/ Rails Latency (ms) 5.90 6.09 13.73 141.42 222.00 245.38 258.99 0.00 50.00 100.00 150.00 200.00 250.00 300.00 Latency (ms)
[ベンチマーク結果] 配列演算処理 (秒間リクエスト数) Crystal/ Amethyst Go/ Revel Node/ Express Perl/
Amon2 Ruby/ Rails Ruby/ Sinatra Python/ Flask Req / Sec 1692.00 1639.00 727.00 67.00 44.00 40.00 38.00 0.00 200.00 400.00 600.00 800.00 1000.00 1200.00 1400.00 1600.00 1800.00 Request / Sec (回)
考察・まとめ • Crystal は本当に早かった – Ruby 界に革命をもたらす速度 • さらに詳しいベンチマークが必要 –
ミドルウェアとの組み合わせ etc • Crystalの未来は明るい
Fin. Let’s enjoy your Crystal life!