aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/arraybuffersink.mjs
blob: 0e787dd56a4019e9682380c5c891f12d6eb4f798 (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
30
import { ArrayBufferSink } from "bun";
import { bench, run } from "mitata";

var short = "Hello World!";
var shortUTF16 = "Hello World 💕💕💕";
var long = "Hello World!".repeat(1024);
var longUTF16 = "Hello World 💕💕💕".repeat(1024);
var encoder = new ArrayBufferSink({ stream: true, highWaterMark: 512 });

bench(`${short.length} ascii`, () => {
  encoder.write(short);
  encoder.start();
});

bench(`${short.length} utf8`, () => {
  encoder.write(shortUTF16);
  encoder.start();
});

bench(`${long.length} ascii`, () => {
  encoder.write(long);
  encoder.start();
});

bench(`${longUTF16.length} utf8`, () => {
  encoder.write(longUTF16);
  encoder.start();
});

await run();