From eb3bc8ea65a01896b07f70c231e6689f2518301a Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 24 Sep 2024 11:48:33 +0200 Subject: [PATCH] reuse outdated children --- .../src/backend/operation/connect_child.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index f51f1db1613370..b3907850708789 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -31,9 +31,15 @@ pub enum ConnectChildOperation { impl ConnectChildOperation { pub fn run(parent_task_id: TaskId, child_task_id: TaskId, mut ctx: ExecuteContext<'_>) { let mut parent_task = ctx.task(parent_task_id, TaskDataCategory::All); - parent_task.remove(&CachedDataItemKey::OutdatedChild { - task: child_task_id, - }); + // Quick skip if the child was already connected before + if parent_task + .remove(&CachedDataItemKey::OutdatedChild { + task: child_task_id, + }) + .is_some() + { + return; + } if parent_task.add(CachedDataItem::Child { task: child_task_id, value: (),