diff options
author | 2022-12-05 03:52:35 -0800 | |
---|---|---|
committer | 2022-12-05 03:52:35 -0800 | |
commit | 8582bc08ec02032fdb5c261a69b87cc18b313343 (patch) | |
tree | 3f182b913ff3f41235f32fe8c0aacbfbe530d901 /bench/snippets | |
parent | eeea1707a132ac7b5c8898f0b4bcf5c0f04a097b (diff) | |
download | bun-8582bc08ec02032fdb5c261a69b87cc18b313343.tar.gz bun-8582bc08ec02032fdb5c261a69b87cc18b313343.tar.zst bun-8582bc08ec02032fdb5c261a69b87cc18b313343.zip |
microbench
Diffstat (limited to 'bench/snippets')
-rw-r--r-- | bench/snippets/emitter.js | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/bench/snippets/emitter.js b/bench/snippets/emitter.js index 4b6b8b216..0dacf18ac 100644 --- a/bench/snippets/emitter.js +++ b/bench/snippets/emitter.js @@ -16,18 +16,55 @@ bench("EventEmitter.emit", () => { }); }); +var monkey = Object.assign({}, EventEmitter.prototype); +monkey.on("hello", (event) => { + event.preventDefault(); +}); + +bench("[monkey] EventEmitter.emit", () => { + var called = false; + monkey.emit("hello", { + preventDefault() { + id++; + called = true; + }, + }); + + if (!called) { + throw new Error("monkey failed"); + } +}); + bench("EventEmitter.on x 10_000 (handler)", () => { - var cb = () => { + var cb = (event) => { event.preventDefault(); }; emitter.on("hey", cb); + var called = false; for (let i = 0; i < 10_000; i++) emitter.emit("hey", { preventDefault() { id++; + called = true; }, }); emitter.off("hey", cb); + + if (!called) throw new Error("not called"); +}); + +bench("[monkey] EventEmitter.on x 10_000 (handler)", () => { + var cb = () => { + event.preventDefault(); + }; + monkey.on("hey", cb); + for (let i = 0; i < 10_000; i++) + monkey.emit("hey", { + preventDefault() { + id++; + }, + }); + monkey.off("hey", cb); }); var target = new EventTarget(); |