From b0dd7bee5b22e49f2f2b8af92e4e1c7736f5d9a5 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Wed, 14 Sep 2022 18:25:06 -0700 Subject: Update crypto benchmark --- bench/snippets/crypto.mjs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'bench/snippets/crypto.mjs') diff --git a/bench/snippets/crypto.mjs b/bench/snippets/crypto.mjs index 572e127bc..132e6595d 100644 --- a/bench/snippets/crypto.mjs +++ b/bench/snippets/crypto.mjs @@ -1,18 +1,25 @@ // so it can run in environments without node module resolution import { bench, run } from "../node_modules/mitata/src/cli.mjs"; +var crypto = globalThis.crypto; // web crypto is not a global in node -if (!globalThis.crypto) { - globalThis.crypto = await import("crypto"); +if (!crypto) { + crypto = await import("crypto"); } -var foo = new Uint8Array(2); -bench("crypto.getRandomValues()", () => { +var foo = new Uint8Array(65536); +bench("crypto.getRandomValues(65536)", () => { crypto.getRandomValues(foo); }); +var small = new Uint8Array(32); +bench("crypto.getRandomValues(32)", () => { + crypto.getRandomValues(small); +}); + bench("crypto.randomUUID()", () => { - crypto.randomUUID(); + // node uses a rope string for each hex byte so any subsequent operation after creating it is slow + return crypto.randomUUID()[2]; }); await run(); -- cgit v1.2.3