aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/buffer-create.mjs
blob: 115f8dd4aaf012d5f51b19ff778a1945feb50dee (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// @runtime bun,node,deno
import { bench, run } from "./runner.mjs";
import process from "node:process";
import { Buffer } from "node:buffer";

const N = parseInt(process.env.RUN_COUNTER ?? "10000", 10);
var isBuffer = new Buffer(0);
var isNOtBuffer = "not a buffer";

bench("Buffer.isBuffer(buffer)", () => {
  return Buffer.isBuffer(isBuffer);
});

{
  var j = 0;
  j += 1;
  j += eval("'ok'");

  bench("Buffer.isBuffer(string)", () => {
    return Buffer.isBuffer(j);
  });
}

bench("Buffer.from('short string')", () => {
  return Buffer.from("short string");
});

const loooong = "long string".repeat(9999).split("").join(" ");
bench("Buffer.byteLength('long string'.repeat(9999))", () => {
  return Buffer.byteLength(loooong);
});

var hundred = new ArrayBuffer(100);
bench("Buffer.from(ArrayBuffer(100))", () => {
  return Buffer.from(hundred);
});

var hundredArray = new Uint8Array(100);
bench("Buffer.from(Uint8Array(100))", () => {
  return Buffer.from(hundredArray);
});

var empty = new Uint8Array(0);
bench("Buffer.from(Uint8Array(0))", () => {
  return Buffer.from(empty);
});

bench("new Buffer(Uint8Array(0))", () => {
  return new Buffer(empty);
});

bench(`new Buffer(${N})`, () => {
  return new Buffer(N);
});

bench(`Buffer.alloc(${N})`, () => {
  return Buffer.alloc(N);
});

bench(`Buffer.allocUnsafe(${N})`, () => {
  return Buffer.allocUnsafe(N);
});

bench("Buffer.allocUnsafe(24_000)", () => {
  return Buffer.allocUnsafe(24_000);
});

bench("Buffer.alloc(24_000)", () => {
  return Buffer.alloc(24_000);
});

await run({});
gGravatar Jarred Sumner 1-2/+25 2022-01-05Update http.zigGravatar Jarred Sumner 1-1/+1 2022-01-05Add module condition to the node platform (#104)Gravatar Mateusz Burzyński 1-1/+4 2022-01-05Drop redundant comments (#103)Gravatar Mateusz Burzyński 1-23/+0 2022-01-05Tweak default main fields for the bun platform to match other popular bundler...Gravatar Mateusz Burzyński 1-10/+7 2022-01-04:skull: dead codeGravatar Jarred Sumner 1-13/+0 2022-01-04[bun dev] Print error in status line textGravatar Jarred Sumner 1-3/+13 2022-01-04noramlize some errorsGravatar Jarred Sumner 3-3/+4 2022-01-04[Bun.js][bun dev] Support macros inside of Bun.jsGravatar Jarred Sumner 5-51/+103 2022-01-04[bun bun] Fix error when regenerating node_modules.bun after moving itGravatar Jarred Sumner 1-1/+17 2022-01-04Improve how we detect if terminal colors are supportedGravatar Jarred Sumner 3-11/+66 2022-01-04Improve error handling when out of file handlesGravatar Jarred Sumner 5-58/+248 2022-01-04Update build-idGravatar Jarred Sumner 1-1/+1 2022-01-04Downgrade mimalloc due to crashesGravatar Jarred Sumner 1-0/+0 2022-01-04Upload compressed `.dSYM` for every releaseGravatar Jarred Sumner 2-4/+34 2022-01-04Update .gitignoreGravatar Jarred Sumner 1-0/+3 2022-01-04[bun install] Fix more cases where bytes are printed instead of stringsGravatar Jarred Sumner 1-10/+38 2022-01-04minor perf optimization: remove this loop on macOSGravatar Jarred Sumner 2-4/+8 2022-01-03Update crash_reporter_linux.zigbun-v0.0.66Gravatar Jarred Sumner 1-1/+1 2022-01-03:confused:Gravatar Jarred Sumner 5-0/+1 2022-01-03:nail_care:Gravatar Jarred Sumner 3-1652/+1826 2022-01-03Update crash_reporter_linux.zigGravatar Jarred Sumner 1-1/+1 2022-01-03Update PLCrashReport.mGravatar Jarred Sumner 1-1/+1 2022-01-03Update PLCrashReport.mGravatar Jarred Sumner 1-2/+1 2022-01-03:lock:Gravatar Jarred Sumner 4-1/+1 2022-01-03dead codeGravatar Jarred Sumner 13-1881/+1660