From da6e68f66caf97c46ad43670f2c36f943cc000b1 Mon Sep 17 00:00:00 2001 From: Muhammad Ahmad Date: Tue, 4 Mar 2025 19:03:42 +0500 Subject: [PATCH 1/3] feat: show memory usage before and after the test --- packages/benchmark/package.json | 3 ++- packages/benchmark/src/benchmark.js | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/benchmark/package.json b/packages/benchmark/package.json index 1b8c7a98df..0eebf9ad7a 100644 --- a/packages/benchmark/package.json +++ b/packages/benchmark/package.json @@ -33,7 +33,8 @@ "prepack": "tsc --build tsconfig.build.json", "install-engines": "./install-engines.sh", "test": "./run-tests.sh", - "cpu-prof-test": "yarn rollup -c && node --jitless --cpu-prof dist/bundle.js" + "cpu-prof-test": "yarn rollup -c && node --jitless --cpu-prof dist/bundle.js", + "test:node": "yarn rollup -c && node dist/bundle.js" }, "devDependencies": { "@endo/init": "workspace:^", diff --git a/packages/benchmark/src/benchmark.js b/packages/benchmark/src/benchmark.js index f807105f77..e2b762f62b 100644 --- a/packages/benchmark/src/benchmark.js +++ b/packages/benchmark/src/benchmark.js @@ -25,15 +25,23 @@ function truthy(value, message = 'Expected a truthy value') { if (!value) throw Error(message); } +function logMemoryUsage(message = '') { + if (typeof process === 'undefined') return; + console.log(message, process.memoryUsage()); +} + async function test(name, fn) { await null; + console.log('\n\n') + console.log('Running test: ', name); + logMemoryUsage("Memory Usage Before Test: "); try { - console.log('Running test: ', name); await fn({ assert, truthy }); console.log(`✅ Passed`); } catch (err) { console.log(`❌ Failed: ${err.message}`); } + logMemoryUsage("Memory Usage After Test: "); } export { benchmark, test }; From d7bf43a6652750403b7b66a35a3108ce9a5974ed Mon Sep 17 00:00:00 2001 From: Muhammad Ahmad Date: Tue, 4 Mar 2025 19:09:09 +0500 Subject: [PATCH 2/3] fix: lint format --- packages/benchmark/src/benchmark.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/benchmark/src/benchmark.js b/packages/benchmark/src/benchmark.js index e2b762f62b..55d050a4ac 100644 --- a/packages/benchmark/src/benchmark.js +++ b/packages/benchmark/src/benchmark.js @@ -32,16 +32,16 @@ function logMemoryUsage(message = '') { async function test(name, fn) { await null; - console.log('\n\n') + console.log('\n\n'); console.log('Running test: ', name); - logMemoryUsage("Memory Usage Before Test: "); + logMemoryUsage('Memory Usage Before Test: '); try { await fn({ assert, truthy }); console.log(`✅ Passed`); } catch (err) { console.log(`❌ Failed: ${err.message}`); } - logMemoryUsage("Memory Usage After Test: "); + logMemoryUsage('Memory Usage After Test: '); } export { benchmark, test }; From 28547eb1800c22d274c86c2a6aa824eeef347acd Mon Sep 17 00:00:00 2001 From: Muhammad Ahmad Date: Tue, 4 Mar 2025 19:27:46 +0500 Subject: [PATCH 3/3] fix(lint): process no-undef error fixed by telling eslint that process is a global variable --- packages/benchmark/src/benchmark.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/benchmark/src/benchmark.js b/packages/benchmark/src/benchmark.js index 55d050a4ac..c12126ca8c 100644 --- a/packages/benchmark/src/benchmark.js +++ b/packages/benchmark/src/benchmark.js @@ -1,3 +1,5 @@ +/* global process */ + const getTime = () => Date.now() * 1_000_000; async function benchmark(name, t, fn, expedtedTime, iterations = 10000) {