aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/write.node.mjs
blob: 14bceb23f6b1bc3291bb53faa6ea9f700979a6c1 (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
// @runtime node, bun, deno
import { bench, run } from "./runner.mjs";
import { Buffer } from "node:buffer";
import { openSync } from "node:fs";
import { writeFile } from "node:fs/promises";
import { writeSync as write } from "node:fs";

bench("writeFile(/tmp/foo.txt, short string)", async () => {
  await writeFile("/tmp/foo.txt", "short string", "utf8");
});

const buffer = Buffer.from("short string");
bench("writeFile(/tmp/foo.txt, Buffer.from(short string))", async () => {
  await writeFile("/tmp/foo.txt", buffer);
});

const fd = openSync("/tmp/foo.txt", "w");

bench("write(fd, short string)", () => {
  const bytesWritten = write(fd, "short string", "utf8");
  if (bytesWritten !== 12) throw new Error("wrote !== 12");
});

bench("write(fd, Uint8Array(short string))", () => {
  const bytesWritten = write(fd, buffer);
  if (bytesWritten !== 12) throw new Error("wrote !== 12");
});

await run();
ss='deletions'>-20/+30 2023-10-15The startup message sends successfullyGravatar Jarred Sumner 4-96/+130 2023-10-15it compiledGravatar Jarred Sumner 2-158/+238 2023-10-15okay we are starting to try itGravatar Jarred Sumner 4-9/+43 2023-10-15Okay most of the code is writtenGravatar Jarred Sumner 3-29/+398 2023-10-14MoreGravatar Jarred Sumner 7-66/+504 2023-10-14wipGravatar Jarred Sumner 8-16/+1194 2023-10-14More progressGravatar Jarred Sumner 4-36/+405 2023-10-13wipGravatar Jarred Sumner 8-48/+308