/* EventHub with path: 64 658 377 ops/s, ±1.91% | 22.19% slower EventHub noTypePath: 83 096 052 ops/s, ±1.72% | fastest RawEvents: 81 874 018 ops/s, ±2.50% | 1.47% slower mitt: 36 629 292 ops/s, ±1.63% | 55.92% slower eventemitter3: 69 375 528 ops/s, ±1.43% | 16.51% slower tiny-emitter: 27 491 621 ops/s, ±1.21% | slowest, 66.92% slower */ import b from "benny" import { EventHub } from "../index" import { RawEvents } from "../lib/RawEvents" // import { RawEvents2 } from "../lib/RawEvents" import mitt from "mitt" import EventEmitter from "eventemitter3" import tinyEmitter from "tiny-emitter" const eventHub = new EventHub() const eventHub2 = new EventHub() const rawEvents = new RawEvents() const mitt_emitter = mitt() const eventemitter3 = new EventEmitter() const tiny_emitter = new tinyEmitter.TinyEmitter() let a1 = 1 let a11 = 1 let a2 = 1 let a3 = 1 let a4 = 1 let a5 = 5 eventHub.on("test", (data) => { a1 += data }) eventHub2.on("test", (data) => { a11 += data }) rawEvents.on("test", (data) => { a2 += data }) mitt_emitter.on("test", (data: any) => { a3 += data }) eventemitter3.on("test", (data: any) => { a4 += data }) tiny_emitter.on("test", (data: any) => { a5 += data }) b.suite( "[emit] EventHub vs RawEvents vs mitt vs eventemitter3", b.add("EventHub with path", () => { eventHub.emit("test", a1) }), b.add("EventHub noTypePath", () => { eventHub2.emit("test", a11, { noTypePath: true }) }), b.add("RawEvents", () => { rawEvents.emit("test", a2) }), b.add("mitt", () => { mitt_emitter.emit("test", a3) }), b.add("eventemitter3", () => { eventemitter3.emit("test", a4) }), b.add("tiny-emitter", () => { tiny_emitter.emit("test", a4) }), b.cycle(), b.complete() // b.save({ file: 'reduce', format: 'chart.html' }), )