Skip to content

Commit 2e9e5e4

Browse files
committed
average it even more...
1 parent 3e3f585 commit 2e9e5e4

File tree

3 files changed

+34
-6
lines changed

3 files changed

+34
-6
lines changed

dev-packages/node-overhead-gh-action/index.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import * as glob from '@actions/glob';
99
import * as io from '@actions/io';
1010
import { markdownTable } from 'markdown-table';
1111
import { getArtifactsForBranchAndWorkflow } from './lib/getArtifactsForBranchAndWorkflow.mjs';
12-
import { getOverheadMeasurements } from './lib/getOverheadMeasurements.mjs';
12+
import { getAveragedOverheadMeasurements } from './lib/getOverheadMeasurements.mjs';
1313
import { formatResults, hasChanges } from './lib/markdown-table-formatter.mjs';
1414

1515
const NODE_OVERHEAD_HEADING = '## node-overhead report 🧳';
@@ -100,7 +100,7 @@ async function run() {
100100

101101
core.startGroup('Getting current overhead measurements');
102102
try {
103-
current = await getOverheadMeasurements();
103+
current = await getAveragedOverheadMeasurements();
104104
} catch (error) {
105105
core.error('Error getting current overhead measurements');
106106
core.endGroup();
@@ -178,7 +178,7 @@ async function runNodeOverheadOnComparisonBranch() {
178178

179179
const artifactClient = new DefaultArtifactClient();
180180

181-
const result = await getOverheadMeasurements();
181+
const result = await getAveragedOverheadMeasurements();
182182

183183
try {
184184
await fs.writeFile(resultsFilePath, JSON.stringify(result), 'utf8');

dev-packages/node-overhead-gh-action/lib/getOverheadMeasurements.mjs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ async function startAutocannonProcess(autocannonCommand) {
117117
});
118118
}
119119

120-
export async function getOverheadMeasurements() {
120+
async function getOverheadMeasurements() {
121121
const GET = {
122122
baseline: await getMeasurements(undefined, 'yarn test:get'),
123123
withInstrument: await getMeasurements('./src/instrument.mjs', 'yarn test:get'),
@@ -136,6 +136,34 @@ export async function getOverheadMeasurements() {
136136
};
137137
}
138138

139+
export async function getAveragedOverheadMeasurements() {
140+
const results = [];
141+
for (let i = 0; i < 3; i++) {
142+
const result = await getOverheadMeasurements();
143+
results.push(result);
144+
}
145+
146+
// Calculate averages for each scenario
147+
const averaged = {
148+
GET: {
149+
baseline: Math.floor(results.reduce((sum, r) => sum + r.GET.baseline, 0) / results.length),
150+
withInstrument: Math.floor(results.reduce((sum, r) => sum + r.GET.withInstrument, 0) / results.length),
151+
withInstrumentErrorOnly: Math.floor(
152+
results.reduce((sum, r) => sum + r.GET.withInstrumentErrorOnly, 0) / results.length,
153+
),
154+
},
155+
POST: {
156+
baseline: Math.floor(results.reduce((sum, r) => sum + r.POST.baseline, 0) / results.length),
157+
withInstrument: Math.floor(results.reduce((sum, r) => sum + r.POST.withInstrument, 0) / results.length),
158+
withInstrumentErrorOnly: Math.floor(
159+
results.reduce((sum, r) => sum + r.POST.withInstrumentErrorOnly, 0) / results.length,
160+
),
161+
},
162+
};
163+
164+
return averaged;
165+
}
166+
139167
function log(message) {
140168
if (DEBUG) {
141169
// eslint-disable-next-line no-console

dev-packages/node-overhead-gh-action/run-local.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { getOverheadMeasurements } from './lib/getOverheadMeasurements.mjs';
1+
import { getAveragedOverheadMeasurements } from './lib/getOverheadMeasurements.mjs';
22
import { formatResults } from './lib/markdown-table-formatter.mjs';
33

44
async function run() {
5-
const measurements = await getOverheadMeasurements();
5+
const measurements = await getAveragedOverheadMeasurements();
66

77
// eslint-disable-next-line no-console
88
console.log(formatResults(undefined, measurements));

0 commit comments

Comments
 (0)