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
ElixirでNode.jsを倒す
Search
さっちゃん
May 10, 2017
Programming
0
2.1k
ElixirでNode.jsを倒す
さっちゃん
May 10, 2017
Tweet
Share
More Decks by さっちゃん
See All by さっちゃん
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.6k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.4k
path 依存型って何?
ne_sachirou
0
760
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
680
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
110
名實一致
ne_sachirou
0
710
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.2k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
1.1k
Monitoring Containerized Elixir
ne_sachirou
1
1k
Other Decks in Programming
See All in Programming
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
190
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
CSC307 Lecture 05
javiergs
PRO
0
500
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
780
CSC307 Lecture 01
javiergs
PRO
0
690
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
100
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
320
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
Featured
See All Featured
Music & Morning Musume
bryan
47
7.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Documentation Writing (for coders)
carmenintech
77
5.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Optimizing for Happiness
mojombo
379
71k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Agile that works and the tools we love
rasmusluckow
331
21k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Transcript
ElixirでNode.jsを倒す
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
Chat
We ♥ chat & we ♥ ChatOps.
Weʼll make bots.
Elixir has Hedwig.
Elixir has Hedwig. defmodule HedwigDemo.Responders.Ping do @moduledoc ””” ping-pong ”””
use Hedwig.Responder hear ~r/ping/i, msg do reply msg, “pong” end end
Compare Hedwig with another chat-bot framework.
Compare Hedwig with another chat-bot framework. Botkit !
Botkit Hedwig
Botkit Hedwig
single thread event loop callback
single thread event loop callback fail!
single thread event loop callback fail! System down!
sup process process process
sup process process process fail!
sup process process process fail! process re-spawn!
Demo client 接 續 接 續 接 續 bot ping
pong ping pong ping pong
Demo client 接 續 接 續 接 續 proc proc
proc
Demo client 接 續 接 續 接 續 proc
Demo `make pressure` ne-sachirou/exconfjp2017
Benchmark
Benchmark
Benchmark
Botkit Hedwig 速い 竝列に動く エラーからの恢復が遲い 速い 竝列に動く+竝⾏に動く エラーから素早く恢復する