aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'bench/snippets')
-rwxr-xr-xbench/snippets/bun.lockbbin1477 -> 0 bytes
-rw-r--r--bench/snippets/crypto-2190.mjs29
-rw-r--r--bench/snippets/crypto-stream.mjs26
-rw-r--r--bench/snippets/emitter.mjs101
-rw-r--r--bench/snippets/package.json7
5 files changed, 55 insertions, 108 deletions
diff --git a/bench/snippets/bun.lockb b/bench/snippets/bun.lockb
deleted file mode 100755
index 3acb6d075..000000000
--- a/bench/snippets/bun.lockb
+++ /dev/null
Binary files differ
diff --git a/bench/snippets/crypto-2190.mjs b/bench/snippets/crypto-2190.mjs
new file mode 100644
index 000000000..dab54f1fd
--- /dev/null
+++ b/bench/snippets/crypto-2190.mjs
@@ -0,0 +1,29 @@
+// https://github.com/oven-sh/bun/issues/2190
+import { bench, run } from "mitata";
+import { createHash } from "node:crypto";
+
+const data =
+ "Delightful remarkably mr on announcing themselves entreaties favourable. About to in so terms voice at. Equal an would is found seems of. The particular friendship one sufficient terminated frequently themselves. It more shed went up is roof if loud case. Delay music in lived noise an. Beyond genius really enough passed is up.";
+
+const scenarios = [
+ { alg: "md5", digest: "hex" },
+ { alg: "md5", digest: "base64" },
+ { alg: "sha1", digest: "hex" },
+ { alg: "sha1", digest: "base64" },
+ { alg: "sha256", digest: "hex" },
+ { alg: "sha256", digest: "base64" },
+];
+
+for (const { alg, digest } of scenarios) {
+ bench(`${alg}-${digest}`, () => {
+ createHash(alg).update(data).digest(digest);
+ });
+
+ if ("Bun" in globalThis) {
+ bench(`${alg}-${digest} (Bun.CryptoHasher)`, () => {
+ new Bun.CryptoHasher(alg).update(data).digest(digest);
+ });
+ }
+}
+
+run();
diff --git a/bench/snippets/crypto-stream.mjs b/bench/snippets/crypto-stream.mjs
new file mode 100644
index 000000000..3560563d9
--- /dev/null
+++ b/bench/snippets/crypto-stream.mjs
@@ -0,0 +1,26 @@
+// https://github.com/oven-sh/bun/issues/2190
+import { bench, run } from "mitata";
+import { createHash } from "node:crypto";
+
+const data =
+ "Delightful remarkably mr on announcing themselves entreaties favourable. About to in so terms voice at. Equal an would is found seems of. The particular friendship one sufficient terminated frequently themselves. It more shed went up is roof if loud case. Delay music in lived noise an. Beyond genius really enough passed is up.";
+
+const scenarios = [
+ { alg: "md5", digest: "hex" },
+ { alg: "md5", digest: "base64" },
+ { alg: "sha1", digest: "hex" },
+ { alg: "sha1", digest: "base64" },
+ { alg: "sha256", digest: "hex" },
+ { alg: "sha256", digest: "base64" },
+];
+
+for (const { alg, digest } of scenarios) {
+ bench(`${alg}-${digest}`, () => {
+ const hasher = createHash(alg);
+ hasher.write(data);
+ hasher.end();
+ hasher.read();
+ });
+}
+
+run();
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();
diff --git a/bench/snippets/package.json b/bench/snippets/package.json
deleted file mode 100644
index 6244001a8..000000000
--- a/bench/snippets/package.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "dependencies": {
- "eventemitter3": "^5.0.0",
- "tiny-typed-emitter": "latest"
- },
- "prettier": "../../.prettierrc.cjs"
-}