Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Web Application Framework 初夏のベンチマーク祭
Search
Pine Mizune
July 07, 2015
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Web Application Framework 初夏のベンチマーク祭
新卒技術勉強会で発表した資料
Pine Mizune
July 07, 2015
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
890
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
2k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
700
Lerna による明示的疎結合アーキテクチャ
pine
1
690
CircleCI 2.0 x JavaScript
pine
3
580
Perl 卒業式
pine
0
380
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
530
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
360
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
460
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
Flow は今どうなっているか
mizdra
PRO
0
890
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
430
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
490
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
0
180
初めての模倣学習とVLA
natsutan
0
450
不幸な GC
chencmd
0
870
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
330
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
110
Oxlintはいいぞ(続)
yug1224
1
540
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Music & Morning Musume
bryan
47
7.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
470
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Navigating Weather and Climate Data
rabernat
0
510
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
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!