Created
May 27, 2024 13:44
-
-
Save ezaurum/dad62eaf45fc1e44fd8f26ab981f2ce1 to your computer and use it in GitHub Desktop.
benchmark mitt vs eventmitter3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
on: draw
emit: event emitter3
off: mitt