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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
さっちゃん
May 10, 2017
Programming
2.1k
0
Share
ElixirでNode.jsを倒す
さっちゃん
May 10, 2017
More Decks by さっちゃん
See All by さっちゃん
火星曆
ne_sachirou
0
14
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.7k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.4k
path 依存型って何?
ne_sachirou
0
800
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
700
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
120
名實一致
ne_sachirou
0
730
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.2k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
1.1k
Other Decks in Programming
See All in Programming
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
140
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
110
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
590
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
960
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
23
13k
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
780
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
110
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
380
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
270
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
370
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
250
Making the RBS Parser Faster
soutaro
0
400
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
120
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
370
The Spectacular Lies of Maps
axbom
PRO
1
700
Information Architects: The Missing Link in Design Systems
soysaucechin
0
890
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
100
Mobile First: as difficult as doing things right
swwweet
225
10k
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 速い 竝列に動く エラーからの恢復が遲い 速い 竝列に動く+竝⾏に動く エラーから素早く恢復する