aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/string-decoder.mjs
blob: b00b7b67d4df0a5b53f7b6f586a55600d54b4885 (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
import { bench, run } from "./runner.mjs";
import { StringDecoder } from "string_decoder";

var short = Buffer.from("Hello World!");
var shortUTF16 = Buffer.from("Hello World 💕💕💕");
var long = Buffer.from("Hello World!".repeat(1024));
var longUTF16 = Buffer.from("Hello World 💕💕💕".repeat(1024));
bench(`${short.length} ascii`, () => {
  var decoder = new StringDecoder();
  decoder.write(short);
});

bench(`${short.length} utf8`, () => {
  var decoder = new StringDecoder();
  decoder.write(shortUTF16);
});

bench(`${long.length} ascii`, () => {
  var decoder = new StringDecoder();
  decoder.write(long);
});

bench(`${longUTF16.length} utf8`, () => {
  var decoder = new StringDecoder();
  decoder.write(longUTF16);
});

await run();