Slide 1

Slide 1 text

ElixirでNode.jsを倒す

Slide 2

Slide 2 text

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

Slide 3

Slide 3 text

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

Slide 4

Slide 4 text

Chat

Slide 5

Slide 5 text

We ♥ chat & we ♥ ChatOps.

Slide 6

Slide 6 text

Weʼll make bots.

Slide 7

Slide 7 text

Elixir has Hedwig.

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Compare Hedwig with another chat-bot framework.

Slide 10

Slide 10 text

Compare Hedwig with another chat-bot framework. Botkit !

Slide 11

Slide 11 text

Botkit Hedwig

Slide 12

Slide 12 text

Botkit Hedwig

Slide 13

Slide 13 text

single thread event loop callback

Slide 14

Slide 14 text

single thread event loop callback fail!

Slide 15

Slide 15 text

single thread event loop callback fail! System down!

Slide 16

Slide 16 text

sup process process process

Slide 17

Slide 17 text

sup process process process fail!

Slide 18

Slide 18 text

sup process process process fail! process re-spawn!

Slide 19

Slide 19 text

Demo client 接 續 接 續 接 續 bot ping pong ping pong ping pong

Slide 20

Slide 20 text

Demo client 接 續 接 續 接 續 proc proc proc

Slide 21

Slide 21 text

Demo client 接 續 接 續 接 續 proc

Slide 22

Slide 22 text

Demo `make pressure` ne-sachirou/exconfjp2017

Slide 23

Slide 23 text

Benchmark

Slide 24

Slide 24 text

Benchmark

Slide 25

Slide 25 text

Benchmark

Slide 26

Slide 26 text

Botkit Hedwig 速い 竝列に動く エラーからの恢復が遲い 速い 竝列に動く+竝⾏に動く エラーから素早く恢復する