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
2.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ElixirでNode.jsを倒す
さっちゃん
May 10, 2017
More Decks by さっちゃん
See All by さっちゃん
火星曆
ne_sachirou
0
32
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.7k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.4k
path 依存型って何?
ne_sachirou
0
840
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
740
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
130
名實一致
ne_sachirou
0
750
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.3k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
1.1k
Other Decks in Programming
See All in Programming
symfony/aiとlaravel/boost
77web
0
110
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
150
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
180
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
200
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
440
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
150
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
15
8k
Inside Stream API
skrb
1
810
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
6k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
220
スマートグラスで並列バイブコーディング
hyshu
0
270
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Building an army of robots
kneath
306
46k
How to Ace a Technical Interview
jacobian
281
24k
RailsConf 2023
tenderlove
30
1.5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
370
Music & Morning Musume
bryan
47
7.3k
So, you think you're a good person
axbom
PRO
2
2.1k
Abbi's Birthday
coloredviolet
3
8.4k
Writing Fast Ruby
sferik
630
63k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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 速い 竝列に動く エラーからの恢復が遲い 速い 竝列に動く+竝⾏に動く エラーから素早く恢復する