diff options
Diffstat (limited to 'bench/emitter/implementations.mjs')
-rw-r--r-- | bench/emitter/implementations.mjs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bench/emitter/implementations.mjs b/bench/emitter/implementations.mjs new file mode 100644 index 000000000..2050ac38e --- /dev/null +++ b/bench/emitter/implementations.mjs @@ -0,0 +1,31 @@ +import EventEmitter3 from "eventemitter3"; +import { group } from "mitata"; +import EventEmitterNative from "node:events"; + +export const implementations = [ + { + EventEmitter: EventEmitterNative, + name: process.isBun ? (EventEmitterNative.init ? "bun" : "C++") : "node:events", + monkey: true, + }, + // { EventEmitter: EventEmitter3, name: "EventEmitter3" }, +].filter(Boolean); + +for (const impl of implementations) { + impl.EventEmitter?.setMaxListeners?.(Infinity); +} + +export function groupForEmitter(name, cb) { + if (implementations.length === 1) { + return cb({ + ...implementations[0], + name: `${name}: ${implementations[0].name}`, + }); + } else { + return group(name, () => { + for (let impl of implementations) { + cb(impl); + } + }); + } +} |