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
780
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
690
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
120
名實一致
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
1.1k
Other Decks in Programming
See All in Programming
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.6k
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.3k
Ruby and LLM Ecosystem 2nd
koic
1
620
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
190
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
370
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
180
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.6k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
290
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.3k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
440
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
390
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Designing Experiences People Love
moore
143
24k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
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 速い 竝列に動く エラーからの恢復が遲い 速い 竝列に動く+竝⾏に動く エラーから素早く恢復する