diff options
author | 2023-06-01 17:31:36 -0400 | |
---|---|---|
committer | 2023-06-01 14:31:36 -0700 | |
commit | 2c1694f63bc4eb279aa708f216037d2e6204eaf1 (patch) | |
tree | 6784f39bc74a9d7b2d46e62e27ccec8ec1855d5d /bench/snippets/emitter.mjs | |
parent | ae277a0dec2acddb2bebc2e46b26bc1543a55914 (diff) | |
download | bun-2c1694f63bc4eb279aa708f216037d2e6204eaf1.tar.gz bun-2c1694f63bc4eb279aa708f216037d2e6204eaf1.tar.zst bun-2c1694f63bc4eb279aa708f216037d2e6204eaf1.zip |
Fix streams breaking on reverted EventEmitter / Make Discord.js work (#2913)
* Revert "Revert "use a lazyily initialized stream for `node:crypto` `createHash` (#2652)""
This reverts commit 613bb4822ee8f4fbfd78aef391e2db8f07659a6f.
* Revert "Revert "implement `node:events` in javascript (#2604)""
This reverts commit a4d0a1961abe0c6073e15cc6f7c0601b74f2e3f7.
* oops
* fix entrypoints stuff
* fix hash copy
* use native events for node streams and crypto
* requested changes
* oops
* make discord.js work
* fix webkit hash
* headers tojson
Diffstat (limited to '')
-rw-r--r-- | bench/snippets/emitter.mjs | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/bench/snippets/emitter.mjs b/bench/snippets/emitter.mjs deleted file mode 100644 index f708cf77a..000000000 --- a/bench/snippets/emitter.mjs +++ /dev/null @@ -1,101 +0,0 @@ -// **so this file can run in node** -import { createRequire } from "node:module"; -const require = createRequire(import.meta.url); -// -- - -const EventEmitterNative = require("node:events").EventEmitter; -const TypedEmitter = require("tiny-typed-emitter").TypedEmitter; -const EventEmitter3 = require("eventemitter3").EventEmitter; -import { bench, run } from "../../node_modules/mitata/src/cli.mjs"; -const event = new Event("hello"); -var id = 0; -for (let [EventEmitter, className] of [ - [EventEmitterNative, "EventEmitter"], - [TypedEmitter, "TypedEmitter"], - [EventEmitter3, "EventEmitter3"], -]) { - const emitter = new EventEmitter(); - - emitter.on("hello", event => { - event.preventDefault(); - }); - - bench(`${className}.emit`, () => { - emitter.emit("hello", { - preventDefault() { - id++; - }, - }); - }); - - bench(`${className}.on x 10_000 (handler)`, () => { - 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"); - }); - - if (EventEmitter !== EventEmitter3) { - var monkey = Object.assign({}, EventEmitter.prototype); - monkey.on("hello", event => { - event.preventDefault(); - }); - - bench(`[monkey] ${className}.emit`, () => { - var called = false; - monkey.emit("hello", { - preventDefault() { - id++; - called = true; - }, - }); - - if (!called) { - throw new Error("monkey failed"); - } - }); - - bench(`[monkey] ${className}.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(); -target.addEventListener("hello", event => {}); -bench("EventTarget.dispatch", () => { - target.dispatchEvent(event); -}); - -var hey = new Event("hey"); - -bench("EventTarget.on x 10_000 (handler)", () => { - var handler = event => {}; - target.addEventListener("hey", handler); - - for (let i = 0; i < 10_000; i++) target.dispatchEvent(hey); - target.removeEventListener("hey", handler); -}); - -await run(); |