Skip to content

Instantly share code, notes, and snippets.

@ezaurum
Created May 27, 2024 13:44
Show Gist options
  • Save ezaurum/dad62eaf45fc1e44fd8f26ab981f2ce1 to your computer and use it in GitHub Desktop.
Save ezaurum/dad62eaf45fc1e44fd8f26ab981f2ce1 to your computer and use it in GitHub Desktop.
benchmark mitt vs eventmitter3
import mitt from "mitt"
import EventEmitter3 from "eventemitter3"
const iterations = 100000
// Mitt
const mittEmitter = mitt()
console.time("Mitt: on")
for (let i = 0; i < iterations; i++) {
mittEmitter.on("event", () => {})
}
console.timeEnd("Mitt: on")
console.time("Mitt: emit")
for (let i = 0; i < iterations; i++) {
mittEmitter.emit("event")
}
console.timeEnd("Mitt: emit")
console.time("Mitt: off")
for (let i = 0; i < iterations; i++) {
mittEmitter.off("event", () => {})
}
console.timeEnd("Mitt: off")
// EventEmitter3
const eventEmitter3 = new EventEmitter3()
console.time("EventEmitter3: on")
for (let i = 0; i < iterations; i++) {
eventEmitter3.on("event", () => {})
}
console.timeEnd("EventEmitter3: on")
console.time("EventEmitter3: emit")
for (let i = 0; i < iterations; i++) {
eventEmitter3.emit("event")
}
console.timeEnd("EventEmitter3: emit")
console.time("EventEmitter3: off")
for (let i = 0; i < iterations; i++) {
eventEmitter3.off("event", () => {})
}
console.timeEnd("EventEmitter3: off")
@ezaurum
Copy link
Author

ezaurum commented May 27, 2024

on: draw
emit: event emitter3
off: mitt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment