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
1.8k
ElixirでNode.jsを倒す
さっちゃん
May 10, 2017
Tweet
Share
More Decks by さっちゃん
See All by さっちゃん
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1k
path 依存型って何?
ne_sachirou
0
440
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
550
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
69
名實一致
ne_sachirou
0
600
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
790
Monitoring Containerized Elixir
ne_sachirou
1
890
Other Decks in Programming
See All in Programming
CSC305 Lecture 01
javiergs
PRO
1
140
個人開発で使ってるやつを紹介する回
yohfee
1
480
"noncopyable types" の使いどころについて考えてみた
andpad
0
110
Frontend Magic mit CSS Houdini
joergneumann
0
420
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
400
はじめてみよう量子プログラミング
itokoichi01
0
280
CSC509 Lecture 03
javiergs
PRO
0
120
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
3
170
Kotlin Multiplatform at Stable and Beyond (Kotlin Vienna, October 2024)
zsmb
2
290
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
220
App Router 悲喜交々
quramy
7
360
Kubernetes上でOracle_Databaseの運用を楽にするOraOperatorの紹介
nnaka2992
0
130
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
227
52k
Being A Developer After 40
akosma
84
590k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Agile that works and the tools we love
rasmusluckow
327
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
2
210
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
The Invisible Side of Design
smashingmag
296
50k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Building Flexible Design Systems
yeseniaperezcruz
326
38k
A better future with KSS
kneath
235
17k
Visualization
eitanlees
143
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
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 速い 竝列に動く エラーからの恢復が遲い 速い 竝列に動く+竝⾏に動く エラーから素早く恢復する