mirror of
https://github.com/denoland/deno.git
synced 2024-12-01 16:51:13 -05:00
ab0c33ebf8
This commit stabilizes "Deno.consoleSize()" API. There is one change compared to previous unstable API, in that the API doesn't accept any arguments. Console size is established by querying syscalls for stdio streams at fd 0, 1 and 2.
21 lines
661 B
JavaScript
21 lines
661 B
JavaScript
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
|
|
const queueMicrotask = globalThis.queueMicrotask || process.nextTick;
|
|
let [total, count] = typeof Deno !== "undefined"
|
|
? Deno.args
|
|
: [process.argv[2], process.argv[3]];
|
|
|
|
total = total ? parseInt(total, 0) : 50;
|
|
count = count ? parseInt(count, 10) : 100000;
|
|
|
|
function bench(fun) {
|
|
const start = Date.now();
|
|
for (let i = 0; i < count; i++) fun();
|
|
const elapsed = Date.now() - start;
|
|
const rate = Math.floor(count / (elapsed / 1000));
|
|
console.log(`time ${elapsed} ms rate ${rate}`);
|
|
if (--total) queueMicrotask(() => bench(fun));
|
|
}
|
|
|
|
bench(() => {
|
|
Deno.consoleSize();
|
|
});
|