Skip to content

Commit 4fe00a3

Browse files
goffrieConvex, Inc.
authored andcommitted
Optimize Transaction::merge_writes sort_by_key (#42964)
GitOrigin-RevId: 4eedcdbd7acb3737fdf6914c14fb9dded2f6f8c4
1 parent dcae54b commit 4fe00a3

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

crates/database/src/transaction.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -472,12 +472,9 @@ impl<RT: Runtime> Transaction<RT> {
472472
let existing_updates = self.writes().as_flat()?.clone().into_updates();
473473

474474
let mut updates = updates.into_iter().collect::<Vec<_>>();
475-
updates.sort_by_key(|(id, update)| {
476-
table_dependency_sort_key(
477-
self.bootstrap_tables(),
478-
(*id).into(),
479-
update.new_document.as_ref(),
480-
)
475+
let bootstrap_tables = self.bootstrap_tables();
476+
updates.sort_by_cached_key(|(id, update)| {
477+
table_dependency_sort_key(bootstrap_tables, (*id).into(), update.new_document.as_ref())
481478
});
482479

483480
let mut preserved_update_count = 0;

0 commit comments

Comments
 (0)