Skip to content

Commit 50a5fa2

Browse files
refactor(db): optimize orderedEntriesArrayReversed to use single pass
Replace three-iteration approach (spread, reverse, map) with a single backwards for loop for better performance. Co-authored-by: Kevin <kevin-dp@users.noreply.github.com>
1 parent 04cd99c commit 50a5fa2

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

packages/db/src/indexes/basic-index.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -428,9 +428,12 @@ export class BasicIndex<
428428
}
429429

430430
get orderedEntriesArrayReversed(): Array<[any, Set<TKey>]> {
431-
return [...this.sortedValues]
432-
.reverse()
433-
.map((value) => [value, this.valueMap.get(value) ?? new Set()])
431+
const result: Array<[any, Set<TKey>]> = []
432+
for (let i = this.sortedValues.length - 1; i >= 0; i--) {
433+
const value = this.sortedValues[i]
434+
result.push([value, this.valueMap.get(value) ?? new Set()])
435+
}
436+
return result
434437
}
435438

436439
get valueMapData(): Map<any, Set<TKey>> {

0 commit comments

Comments
 (0)