Skip to content

Commit 3d3c98d

Browse files
authored
fix(comparator): count next best fit nodes and expose to statistic (#16)
1 parent 8eef276 commit 3d3c98d

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/presenters/statistics.presenter.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from '../helpers/index.js';
1414

1515
type HeapSizeOfDisjunctNodes = {currentShallowHeapSize: number; nextShallowHeapSize: number};
16-
type HeapSizeOfNextBestMatch = {sizeByAccuracy: Record<string, {currentShallowHeapSize: number; nextShallowHeapSize: number}>};
16+
type HeapSizeOfNextBestMatch = {sizeByAccuracy: Record<string, {currentShallowHeapSize: number; nextShallowHeapSize: number}>; amountByAccuracy: Record<string, number>};
1717
type HeapSizeOfPerfectMatch = {currentShallowHeapSize: number; nextShallowHeapSize: number};
1818
type TotalHeapSizeDifference = {currentShallowHeapSize: number; nextShallowHeapSize: number; difference: number; percentage: number};
1919
type TotalNumberOfNodes = {perfectMatchesCurrentNodes: number; perfectMatchesNextNodes: number; nextBestMatchesCurrentNodes: number; nextBestMatchesNextNodes: number; disjunctCurrentNodes: number; disjunctNextNodes: number};
@@ -167,9 +167,11 @@ export class StatisticsPresenter<T extends BaseComparisonNodesInput> implements
167167

168168
for (const [accuracy, value] of Object.entries(this.comparisonResults.nextBestMatchNodes)) {
169169
sizeByAccuracy[accuracy] = {currentShallowHeapSize: 0, nextShallowHeapSize: 0};
170-
amountByAccuracy[accuracy] = value.size;
170+
amountByAccuracy[accuracy] ??= 0;
171171

172172
for (const comparisonResult of value.values()) {
173+
amountByAccuracy[accuracy] += comparisonResult.currentNodeId.size;
174+
173175
for (const nodeId of comparisonResult.currentNodeId) {
174176
const relatedNode = this.currentValues.get(nodeId);
175177

@@ -188,7 +190,7 @@ export class StatisticsPresenter<T extends BaseComparisonNodesInput> implements
188190
}
189191
}
190192

191-
return {sizeByAccuracy};
193+
return {sizeByAccuracy, amountByAccuracy};
192194
}
193195

194196
/**

0 commit comments

Comments
 (0)