aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/emitter.mjs
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-06-01 17:31:36 -0400
committerGravatar GitHub <noreply@github.com> 2023-06-01 14:31:36 -0700
commit2c1694f63bc4eb279aa708f216037d2e6204eaf1 (patch)
tree6784f39bc74a9d7b2d46e62e27ccec8ec1855d5d /bench/snippets/emitter.mjs
parentae277a0dec2acddb2bebc2e46b26bc1543a55914 (diff)
downloadbun-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.mjs101
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();