Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 20 additions & 12 deletions benches/index.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
#!/usr/bin/env ts-node
#!/usr/bin/env tsx

import fs from 'fs';
import path from 'path';
import url from 'url';
import fs from 'node:fs';
import path from 'node:path';
import url from 'node:url';
import si from 'systeminformation';

const dirname = url.fileURLToPath(new URL('.', import.meta.url));
import { benchesPath } from './utils/utils.js';

async function main(): Promise<void> {
await fs.promises.mkdir(path.join(dirname, 'results'), { recursive: true });
await fs.promises.mkdir(path.join(benchesPath, 'results'), {
recursive: true,
});
const resultFilenames = await fs.promises.readdir(
path.join(dirname, 'results'),
path.join(benchesPath, 'results'),
);
const metricsFile = await fs.promises.open(
path.join(dirname, 'results', 'metrics.txt'),
path.join(benchesPath, 'results', 'metrics.txt'),
'w',
);
let concatenating = false;
for (const resultFilename of resultFilenames) {
if (/.+_metrics\.txt$/.test(resultFilename)) {
const metricsData = await fs.promises.readFile(
path.join(dirname, 'results', resultFilename),
path.join(benchesPath, 'results', resultFilename),
);
if (concatenating) {
await metricsFile.write('\n');
Expand All @@ -36,9 +37,16 @@ async function main(): Promise<void> {
system: 'model, manufacturer',
});
await fs.promises.writeFile(
path.join(dirname, 'results', 'system.json'),
path.join(benchesPath, 'results', 'system.json'),
JSON.stringify(systemData, null, 2),
);
}

void main();
if (import.meta.url.startsWith('file:')) {
const modulePath = url.fileURLToPath(import.meta.url);
if (process.argv[1] === modulePath) {
void main();
}
}

export default main;
22 changes: 12 additions & 10 deletions benches/utils/utils.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
import fs from 'fs';
import path from 'path';
import url from 'url';
import fs from 'node:fs';
import path from 'node:path';
import url from 'node:url';
import b from 'benny';
import { codeBlock } from 'common-tags';
import packageJson from '../../package.json';
import packageJson from '../../package.json' assert { type: 'json' };

const dirname = url.fileURLToPath(new URL('.', import.meta.url));
const benchesPath = path.dirname(
path.dirname(url.fileURLToPath(import.meta.url)),
);

const suiteCommon = [
b.cycle(),
b.complete(),
b.save({
file: (summary) => summary.name,
folder: path.join(dirname, '../results'),
folder: path.join(benchesPath, 'results'),
version: packageJson.version,
details: true,
}),
b.save({
file: (summary) => summary.name,
folder: path.join(dirname, '../results'),
folder: path.join(benchesPath, 'results'),
version: packageJson.version,
format: 'chart.html',
}),
b.complete((summary) => {
const filePath = path.join(
dirname,
'../results',
benchesPath,
'results',
summary.name + '_metrics.txt',
);
fs.writeFileSync(
Expand Down Expand Up @@ -61,4 +63,4 @@ const suiteCommon = [
}),
];

export { suiteCommon };
export { benchesPath, suiteCommon };
8 changes: 4 additions & 4 deletions src/RPCClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ class RPCClient<M extends ClientManifest> {
utils.clientInputTransformStream<I>(method);
const middleware = this.middlewareFactory(
{ signal, timer },
rpcStream.cancel,
(...args) => rpcStream.cancel(...args),
metadata,
);
// This `Promise.allSettled` is used to asynchronously track the state
Expand All @@ -372,7 +372,7 @@ class RPCClient<M extends ClientManifest> {
return {
readable: outputMessageTransformStream.readable,
writable: inputMessageTransformStream.writable,
cancel: rpcStream.cancel,
cancel: (...args) => rpcStream.cancel(...args),
meta: metadata,
};
}
Expand Down Expand Up @@ -512,7 +512,7 @@ class RPCClient<M extends ClientManifest> {
const newRpcStream: RPCStream<Uint8Array, Uint8Array> = {
writable: rpcStream.writable,
readable: headTransformStream.readable as ReadableStream<Uint8Array>,
cancel: rpcStream.cancel,
cancel: (...args) => rpcStream.cancel(...args),
meta: rpcStream.meta,
};
return [leadingMessage.result, newRpcStream];
Expand All @@ -532,7 +532,7 @@ class RPCClient<M extends ClientManifest> {
return {
writable: rpcStream.writable,
readable: rpcStream.readable,
cancel: rpcStream.cancel,
cancel: (...args) => rpcStream.cancel(...args),
meta: metadata,
};
}
Expand Down
2 changes: 1 addition & 1 deletion src/RPCServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,7 @@ class RPCServer {
headerMessage.value,
transformStream.readable as ReadableStream<Uint8Array>,
],
rpcStream.cancel,
(...args) => rpcStream.cancel(...args),
rpcStream.meta,
{ signal: abortController.signal, timer },
);
Expand Down
Loading