summaryrefslogtreecommitdiff
path: root/cli/bench/stdio/stdio.js
blob: 81bea835a6f9c0943819c6a3b97768dde7e566e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
//
// From https://github.com/just-js/benchmarks/tree/main/01-stdio

// deno-lint-ignore-file no-console

const blocksize = parseInt(Deno.args[0] || 65536);
const buf = new Uint8Array(blocksize);
let size = 0;
let reads = 0;

let n = Deno.stdin.readSync(buf);
while (n > 0) {
  reads++;
  size += n;
  n = Deno.stdin.readSync(buf);
}
if (n < 0) throw new Error("Bad Read");
console.log(`size ${size} reads ${reads} blocksize ${blocksize}`);