EventEmitter Speed BATTLE!!!!

eventemitter比較しました.

javascript といえば,eventemitter, eventemitter といえば,javascript

(たぶん)

そんな,Eventemitter のベンチマークを書きました.

  • 調査対象.

    • node の標準搭載のEventEmitter
    • EventEmitter2
    • EventEmitter3
    • EventEmitter4
    • fast-event-emitter (計測時はEventEmitter5としています)
  • 参考にしたサイト

yosuke-furukawa.hatenablog.com

ここのeventemitterのベンチマークを勝手ながら流用させていただいています.

gist.github.com

結果発表

// EventEmitterHeatUp x 1,854,119 ops/sec ±3.33% (81 runs sampled)
// EventEmitter x 1,941,173 ops/sec ±2.13% (80 runs sampled)
// EventEmitter2 x 3,324,465 ops/sec ±2.08% (84 runs sampled)
// EventEmitter3 x 1,239,810 ops/sec ±1.57% (85 runs sampled)
// EventEmitter4 x 236,741 ops/sec ±1.42% (92 runs sampled)
// EventEmitter5 x 3,572,485 ops/sec ±1.81% (87 runs sampled)

// Fastest is EventEmitter5

5 > 2 > 1 > 3 >4 の順で速度がはやいみたい.

emit() の反応速度は,一概に新しい奴が早いわけではないみたい.

5 はまだスター数がそこまで多くないので様子見. 3 はon の第2引数にundefined入れても例外が投げられず,よくわからないとこでコケる. これからは,eventemitter2 を使うことにします.