aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/crypto-2190.mjs
blob: dab54f1fdfd4aeb3e423289d7d46a8a281a711a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();