iso-bench
Version:
Small benchmark library focused in avoiding optimization/deoptimization pollution between tests by isolating them.
25 lines (24 loc) • 949 B
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Messager = void 0;
const fs_1 = __importDefault(require("fs"));
const WorkerSetup_1 = require("./WorkerSetup");
const output = WorkerSetup_1.WorkerSetup ? fs_1.default.createWriteStream("", { fd: 3 }) : null;
var Messager;
(function (Messager) {
function send(message) {
if (!output) {
throw new Error("No output?");
}
const bufferLength = Buffer.allocUnsafe(2);
const buffer = Buffer.from(JSON.stringify(message));
bufferLength.writeUint16LE(buffer.length);
return new Promise(resolve => {
output.write(Buffer.concat([bufferLength, buffer]), resolve);
});
}
Messager.send = send;
})(Messager || (exports.Messager = Messager = {}));
;