assert: use less read operations
This reduces the total amount of reads when using `assert.ok()` with a falsy value. That increases the read performance significantly. Also remove a comment that can not be addressed. PR-URL: https://github.com/nodejs/node/pull/27525 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
parent
0cd602879c
commit
d099f2f124
@ -172,8 +172,8 @@ function getCode(fd, line, column) {
|
|||||||
let lines = 0;
|
let lines = 0;
|
||||||
// Prevent blocking the event loop by limiting the maximum amount of
|
// Prevent blocking the event loop by limiting the maximum amount of
|
||||||
// data that may be read.
|
// data that may be read.
|
||||||
let maxReads = 64; // bytesPerRead * maxReads = 512 kb
|
let maxReads = 32; // bytesPerRead * maxReads = 512 kb
|
||||||
const bytesPerRead = 8192;
|
const bytesPerRead = 16384;
|
||||||
// Use a single buffer up front that is reused until the call site is found.
|
// Use a single buffer up front that is reused until the call site is found.
|
||||||
let buffer = Buffer.allocUnsafe(bytesPerRead);
|
let buffer = Buffer.allocUnsafe(bytesPerRead);
|
||||||
while (maxReads-- !== 0) {
|
while (maxReads-- !== 0) {
|
||||||
@ -619,11 +619,6 @@ function checkIsPromise(obj) {
|
|||||||
// Accept native ES6 promises and promises that are implemented in a similar
|
// Accept native ES6 promises and promises that are implemented in a similar
|
||||||
// way. Do not accept thenables that use a function as `obj` and that have no
|
// way. Do not accept thenables that use a function as `obj` and that have no
|
||||||
// `catch` handler.
|
// `catch` handler.
|
||||||
|
|
||||||
// TODO: thenables are checked up until they have the correct methods,
|
|
||||||
// but according to documentation, the `then` method should receive
|
|
||||||
// the `fulfill` and `reject` arguments as well or it may be never resolved.
|
|
||||||
|
|
||||||
return isPromise(obj) ||
|
return isPromise(obj) ||
|
||||||
obj !== null && typeof obj === 'object' &&
|
obj !== null && typeof obj === 'object' &&
|
||||||
typeof obj.then === 'function' &&
|
typeof obj.then === 'function' &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user